1

我知道这可能是一个愚蠢的问题……但我是 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文件中的错误: 中止构建。” 谁能帮我解决这个问题?

4

1 回答 1

1

如果您希望Button低于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使用适配器的自定义。中自定义单元格的示例 XML 片段GridView

<?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. 它只是一个例证。不过,您应该能够连接这些点。;-)

如果您熟悉 custom 的概念,ListViews只需进行一些修改,您也可以实现自定义GridView。如果您不熟悉自定义ListViewsGridViews,请按照本教程了解如何创建自定义GridView: http: //www.coderzheaven.com/2012/02/29/custom-gridview-in-android-a-simple-example/ .

或者使用这个谷歌搜索来获取更多关于自定义的教程GridView's

是我在 SO 上的答案的链接。它有完整的解决方案。使用适合您目的的逻辑。

于 2013-07-14T11:11:13.390 回答