是否有可能制作一个网格视图,其中不是图片网格,而是每张图片下面都有一个小的图像按钮?
是否有可能制作一个网格视图,其中不是图片网格,而是每张图片下面都有一个小的图像按钮?
简短回答:可以。您可以在GridView
中拥有一个ImageView
和一个ImageButton
。
详细回答:
您必须自然地创建一个定制的GridView
来实现这一目的。
例如:
创建一个XML,其中包含容器GridView
,例如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>
为了定义GridView
的内容,请创建另一个XML布局,其中将包含ImageView
和ImageButton
。比如,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>
ListViews
的概念,稍加修改即可实现自定义GridView
。如果您不熟悉自定义ListViews
或GridViews
,请按照本教程创建自定义GridView
: http://www.coderzheaven.com/2012/02/29/custom-gridview-in-android-a-simple-example/。或使用此Google搜索获得更多类似的教程。
这里重要的一点是,如果需要在单击ImageButton
时执行某个功能,则需要在Adapter
中设置onClickListener
。
GridView
显示一个 Views
的网格,可以显示任何扩展 View
类的内容。它可以显示一个包含 ImageView
和 ImageButton
的 LinearLayout
。