Ist es möglich, eine Gridview zu erstellen, die anstelle eines Gitters von Bildern ein Raster von Bildern mit einem kleinen Bildknopf unter jedem von ihnen hat?Gridview mit Layout (imageview + imagebutton) für jeden Wert
Antwort
Kurze Antwort: Ja. Sie können eine ImageView
und eine ImageButton
in einer GridView
haben.
Lange Antwort:
Sie werden natürlich eine benutzerdefinierte GridView
zu diesem Zweck erstellen müssen.
Zum Beispiel:
eine XML erstellen, die den Behälter halten GridView
, sagen wir, grid.xml
:
<GridView
android:id="@+id/gridFriends"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="true"
android:columnWidth="100dp"
android:fastScrollEnabled="true"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="columnWidth" >
</GridView>
Und den Inhalt der GridView
, erstellen Sie eine andere XML-Layout zu definieren, die das halten ImageView
und die ImageButton
. Sprich, grid_items.xml
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainContainer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp" >
<FrameLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="center" >
<ImageView
android:id="@+id/imgProfilePicture"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@null" />
<ImageButton
android:id="@+id/imgbtnDemo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:background="@null"
android:gravity="center"
android:src="@drawable/ic_contact_picture" >
</ImageButton>
</FrameLayout>
</RelativeLayout>
Schließlich, wenn Sie mit dem Konzept der benutzerdefinierten ListViews
, mit einigen Änderungen vertraut sind, werden Sie in der Lage sein, einen benutzerdefinierten GridView
zu implementieren. Wenn Sie mit der benutzerdefinierten Methode ListViews
oder GridViews
nicht vertraut sind, folgen Sie dieser Anleitung, um zu erfahren, wie Sie eine benutzerdefinierte GridView
: http://www.coderzheaven.com/2012/02/29/custom-gridview-in-android-a-simple-example/ erstellen können. Oder verwenden Sie diese Google Search für weitere Tutorials auf dem gleichen.
Ein wichtiger Punkt hier wäre, wenn Sie die ImageButton's
brauchen eine Funktion zu tun, wenn sie angeklickt wird, wird die onClickListener
müssen Setup im Adapter
sein.
GridView
zeigt ein Raster von Views
. Es kann alles anzeigen, was View
Klasse erweitert. Es kann ein LinearLayout
mit einem ImageView
und einem ImageButton
darin zeigen.
- 1. wie Fragment für jeden Imageview
- 2. UICollectionView Layout für jeden Abschnitt
- 3. Android Gridview und ImageView
- 4. make gridView mit mehrfachem Layout
- 5. Randomly ImageButton in einem Layout alle 500ms
- 6. für jeden Eingangstyp erhalten Wert mit Javascript
- 7. Android-Layout Scrollen mit Gridview und RecyclerView
- 8. Erweiterte ASP.NET Gridview Layout
- 9. ImageView adjustViewBounds funktioniert nicht mit Relative Layout
- 10. GridView Layout/Ausgabe
- 11. Ein Layout mit ImageButton in Fragment programmatisch aufblasen
- 12. Android GridView Zeichnung Layout
- 13. ImageView out of Layout Grenzen
- 14. Layout Gewicht in Gridview
- 15. hinzufügen Imageview und TexView für jeden Menüpunkt in Navigationsleiste
- 16. ImageView mit Button innerhalb
- 17. Wie Drag & Drop Item (ImageView verwenden) von einem GridView zu einem anderen GridView im selben Layout in Android?
- 18. Wann sollte ImageButton anstelle von ImageView verwendet werden?
- 19. Meine einfache App überspringt viele Frames. (Imageview und Imagebutton)
- 20. Android- Hinzufügen von Ansicht zu Layout Layout Layout vor ActionBar
- 21. einen variablen Wert für jeden Einsatz Zurücksetzen
- 22. Zeilenindex von einem ImageButton erhalten Klicken in eine GridView
- 23. überprüfen, ob ein Array für jeden Wert
- 24. ANDROID: ImageView für verschiedene Größen
- 25. ImageView setImageBitmap Methode vermasselt das gesamte Layout
- 26. Bearbeiten ImageView in einem anderen Layout
- 27. Pandas Series mit Spaltennamen für jeden Wert über einem Minimum
- 28. Zeile mit maximalem Wert für jeden Schlüssel finden
- 29. GridView mit TextView in LinearLayout
- 30. Embed ImageView in ScrollView mit Auto Layout auf iOS 6
Danke, diese Seite: http://www.coderzheaven.com/2012/02/29/custom-gridview-in-android-a-simple-example/ + die Xmls, die du mir gabst, halfen mir sehr dabei meine benutzerdefinierte Gridview. Sehr gute Antwort –
@rosualin: Gern geschehen. Ich bin froh, dass ich geholfen habe. :-) –
Wie kann ich das relative Layout in den grid_items aufblasen? Ich bekomme diese Ausnahme: java.lang.ClassCastException: android.widget.FrameLayout $ LayoutParams kann nicht in android.widget.AbsListView $ LayoutParams – Pria