是否有可能制作一个网格视图,而不是图片网格,每个网格下面都有一个小图像按钮的图片网格?
答案 0 :(得分:7)
简答:是的。您可以在ImageView
中拥有ImageButton
和GridView
。
答案很长:
您自然必须为此目的创建自定义GridView
。
例如:
创建一个容纳容器GridView
的XML,比如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
的内容,请创建另一个包含ImageView
和ImageButton
的XML布局。说,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 Search获取相同的更多教程。
这里的一个重点是,如果您需要ImageButton's
在点击时执行某项功能,则需要在onClickListener
中设置Adapter
。 强>
答案 1 :(得分:2)
GridView
显示Views
的网格。它可以显示任何扩展View
类的内容。它可以显示LinearLayout
,其中包含ImageView
和ImageButton
。