我知道这可能是一个愚蠢的问题...但我是android的新手...我的项目中有一个gridview布局,我使用“android developer”代码编写代码...所以布局的xml代码是这样的:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
现在我想在gridview中添加一个按钮,但我不能用拖放操作...我已经尝试编写添加按钮的xml代码,但是我遇到了这个错误: “XML文件中的错误:中止构建。” 任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果您希望Button
<{strong> GridView
,请使用以下内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<GridView
android:id="@+id/gridFriends"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:clipChildren="true"
android:columnWidth="100dp"
android:gravity="center"
android:numColumns="auto_fit"
android:scrollbars="none"
android:stretchMode="columnWidth" >
</GridView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingLeft="9dp"
android:paddingRight="9dp"
android:paddingTop="5dp" >
<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>
</LinearLayout>
</LinearLayout>
如果您希望Button
中的每个单元格都有GridView
,则必须使用使用适配器的自定义GridView
。 GridView
中自定义单元格的exmaple 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>
注意:在帖子的XMLS代码段中,我使用的是ImageButton's
。将它们和任何必要的属性更改为Button
的属性。它只是一个插图。你应该能够连接点。 ; - )
如果您熟悉自定义ListViews
的概念,只需进行一些修改,您就可以实现自定义GridView
。如果您不熟悉自定义ListViews
或GridViews
,请按照本教程了解如何创建自定义GridView
:http://www.coderzheaven.com/2012/02/29/custom-gridview-in-android-a-simple-example/。
或者使用此Google Search获取有关自定义GridView's
的更多教程。
this is a link to an answer of mine on SO。它有完整的解决方案。使用适合您目的的逻辑。