在android中添加按钮到gridview

时间:2013-07-14 10:49:58

标签: android

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

1 个答案:

答案 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,则必须使用使用适配器的自定义GridViewGridView中自定义单元格的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。如果您不熟悉自定义ListViewsGridViews,请按照本教程了解如何创建自定义GridViewhttp://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。它有完整的解决方案。使用适合您目的的逻辑。