Sie müssen ein benutzerdefiniertes Rasterelementlayout definieren, das eine Textansicht zum Zuweisen des Texts enthält.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/thumbnail"
android:padding="8dp"
android:scaleType="cropCenter"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_gravity="bottom"
android:textColor="@android:color/white"
android:background="#55000000" />
</FrameLayout>
Hier haben wir eine FrameLayout erstellt haben, die das Imageview der Eltern Dimensionen gesetzt hat übereinstimmen, wird dies die Bildansicht, die das Foto zeigt. Als nächstes gibt es eine Textansicht, die verwendet wird, um den Titel des Elements anzuzeigen, und die an den unteren Rand der FrameLayout ausgerichtet ist.
Als nächstes müssen wir Ihren Adapter bearbeiten, um dieses Rasterelementlayout zu verwenden und die richtigen Informationen zu rendern.
public View getView(int position, View convertView, ViewGroup parent) {
// Inflate the single grid item layout
if (convertView == null) {
convertView = mLayoutInflater.inflate(R.layout.grid_item, parent, false);
}
// Set Image
ImageView thumbnail = convertView.findViewById(R.id.thumbnail);
if (thumbnail != null) {
thumbnail.setImageResource(mThumbIds[position]);
}
// Set Text
TextView title = convertView.findViewById(R.id.title);
if (title != null) {
title.setText("Image Number: " + position);
}
return convertView;
}
mLayoutInflater sollte global in Ihrem Konstruktor
mLayoutInflater = LayoutInflater.from(context);
, was die Fragen ist hier mit definiert werden? –
erstellen Sie ein benutzerdefiniertes Layout für Ihr GridView-Objekt und fügen Sie dort image + TextView ein und füllen Sie diese in Ihrem Adapter auf. – hardartcore
zustimmen mit @ Android-Entwickler – Chetan