Tutoriales gratuitos para el aprendizaje de la programacion informatica! Recuerda que si lo puedes imaginar... lo puedes programar!

Agregar encabezado y pie de pagina a un GridView en Android Studio

Dependencias:

implementation 'in.srain.cube:grid-view-with-header-footer:1.0.12'

En el xml del encabezado (en mi caso le he colocado el nombre de home_encabezado):

En el encabezado quiero que aparezca una imagen

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/iEncabezadoHome"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/efecto_marco"
android:contentDescription="@string/descripcion_imagen"
android:padding="2dp"
android:scaleType="fitXY"
app:srcCompat="@drawable/ic_logo" />
</LinearLayout>

En el xml del pie de pagina(en mi caso le he colocado el nombre de home_pie):

En el pie de pagina tambien quiero que aparezca una imagen

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/iEncabezadoHome"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/efecto_marco"
android:contentDescription="@string/descripcion_imagen"
android:padding="2dp"
android:scaleType="fitXY"
app:srcCompat="@drawable/ic_logo" />
</LinearLayout>

En el Fragmento (o Activity donde quieras colocar tu Grid):

final GridViewWithHeaderAndFooter gridView = (GridViewWithHeaderAndFooter)root.findViewById(R.id.grid_view);
LayoutInflater layoutInflater = LayoutInflater.from(getActivity());
View headerView = layoutInflater.inflate(R.layout.home_encabezado, null);
View footerView = layoutInflater.inflate(R.layout.home_pie, null);
gridView.addHeaderView(headerView);
gridView.addFooterView(footerView);

No hay comentarios:

Publicar un comentario