Crear una clase: MainAdapterInicio
Codigo:
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MainAdapterInicio extends BaseAdapter {
private Context context;
private LayoutInflater inflater;
private String[] elementos;
private int[] imagen;
public MainAdapterInicio(Context c,String[] elementos,int[] imagen){
context = c;
this.elementos = elementos;
this.imagen = imagen; }
@Override public int getCount() {
return elementos.length;
}
@Override public Object getItem(int position) {
return null;
}
@Override public long getItemId(int position) {
return 0;
}
@Override public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null){
inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
}
if (convertView == null){
convertView = inflater.inflate(R.layout.row_item_inicio,null);
}
ImageView imageView = convertView.findViewById(R.id.image_View);
TextView textView = convertView.findViewById(R.id.text_view);
imageView.setImageResource(imagen[position]);
textView.setText(elementos[position]);
return convertView; }
}
Crear un xml en la carpeta layout: row_item_inicio
Codigo TEXT:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<ImageView
android:id="@+id/image_View"
android:layout_width="150dp"
android:layout_height="150dp"
android:contentDescription="@string/descripcion"
android:scaleType="fitXY" />
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:paddingLeft="3dp"
android:paddingTop="3dp"
android:paddingRight="3dp"
android:paddingBottom="3dp"
android:shadowColor="#020202"
android:shadowDx="3"
android:shadowDy="2"
android:shadowRadius="1.8"
android:text="@string/app_name"
android:textColor="#FF9800" android:textSize="15sp" />
</LinearLayout>
Copiar en la carpeta drawable las imagenes que quieras que salgan en el Grid
En el archivo String:
<string name="descripcion">descripcion de la imagen</string>
<array name="menu_principal">
<item>Estrellas</item>
<item>Ofertas</item>
<item>Combos</item>
<item>Menu</item>
<item>Reservaciones</item>
<item>Informacion</item
Codigo en el MainActivity:
Diseño xml:
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" android:orientation="vertical">
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cacheColorHint="@android:color/black"
android:fastScrollEnabled="true"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:paddingLeft="8dp"
android:paddingTop="8dp"
android:paddingRight="8dp"
android:paddingBottom="8dp"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp">
</GridView>
</LinearLayout>
Codigo en el Activity:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
public class MainActivity extends AppCompatActivity {
int[] imagen = {
R.drawable.ic_estrellas,
R.drawable.ic_camionh,
R.drawable.ic_combosh,
R.drawable.ic_chefh,
R.drawable.ic_reservacionh,
R.drawable.ic_infor};
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final GridView gridView = findViewById(R.id.grid);
final String[] elementos = getResources().getStringArray(R.array.menu_principal);
MainAdapterInicio adapter = new MainAdapterInicio(this,elementos,imagen);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
//aqui lo que quieras que salga en la opcion 0
break;
case 1:
//aqui lo que quieras que salga en la opcion 1
break;
case 2:
//aqui lo que quieras que salga en la opcion 2
break;
case 3:
//aqui lo que quieras que salga en la opcion 3
break;
case 4:
//aqui lo que quieras que salga en la opcion 4
break;
case 5:
//aqui lo que quieras que salga en la opcion 5
break;
} }
} });
Trabajo finalizado:


No hay comentarios:
Publicar un comentario