如何在Android中的GridView布局中添加页脚。

3
我需要在Android的GridView布局中添加一个页脚视图,但我找不到官方文档,并且在谷歌搜索中也没有找到可行的方法。是否有人实现过类似的功能?我需要添加一个按钮,以便在单击时显示在GridView底部,就像Instagram下面的示例一样,以便我可以添加更多照片。任何帮助都将非常感谢!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_margin="5dp" >

    <ImageView
        android:id="@+id/profile_user_avatar"
        android:layout_width="48px"
        android:layout_height="48px"
        android:adjustViewBounds="true"
        android:layout_marginTop="5dp" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:paddingLeft="5dp">

        <TextView
            android:id="@+id/profile_realname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:textSize="20dp"
            android:textStyle="bold"
             />

        <TextView
            android:id="@+id/profile_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="2dp"
            android:gravity="left" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tweets_stat"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/button_color_light"
            android:gravity="center"
            android:padding="10dp"
            android:textSize="20dp"
            android:textStyle="bold"
            android:textColor="#FFFFFF" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/button_color_dark"
            android:gravity="center"
            android:padding="10dp"
            android:text="Tweets"
            android:textSize="15dp"
            android:textStyle="bold"
            android:textColor="#FFFFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/followers_stat"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/button_color_light"
            android:gravity="center"
            android:padding="10dp"
            android:textSize="20dp"
            android:textStyle="bold"
            android:textColor="#FFFFFF" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/button_color_dark"
            android:gravity="center"
            android:padding="10dp"
            android:text="Followers"
            android:textSize="15dp"
            android:textStyle="bold"
            android:textColor="#FFFFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/following_stat"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/button_color_light"
            android:gravity="center"
            android:padding="10dp"
            android:textSize="20dp"
            android:textStyle="bold"
            android:textColor="#FFFFFF" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/button_color_dark"
            android:gravity="center"
            android:padding="10dp"
            android:text="Following"
            android:textSize="15dp"
            android:textStyle="bold"
            android:textColor="#FFFFFF" />
    </LinearLayout>
</LinearLayout>

<GridView
    android:id="@+id/gridView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:columnWidth="90dp"
    android:gravity="center"
    android:horizontalSpacing="10dp"
    android:numColumns="auto_fit"
    android:stretchMode="columnWidth"
    android:verticalSpacing="10dp" >
</GridView>

<Button
    android:id="@+id/profile_button"
    style="@style/TextAppearance.Button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="30dp"
    android:layout_marginTop="30dp"
    android:background="@drawable/button_background"
    android:text="Load more photos" />
</LinearLayout>

如果您只是想要在GridView底部添加一个视图,这是完全可以的。您能发布一下您的XML吗? - Jared Burrows
@MasterJB,我已经发布了我的XML。实际上,我有一个按钮就在那里,但它在GridView完成加载后就消失了。 - Edmund Rojas
你尝试过将GridView注释掉看看会发生什么吗?我曾经在我的应用程序中添加广告时遇到了类似的问题。另外,尝试将你的Button单独放入一个Linearlayout中,并将其位置强制设置为底部。这就是我解决广告问题的方法,因为并不是所有元素都同时加载。 - Jared Burrows
1个回答

1

您可以使用类似以下方式来有效地添加页脚网格项:

https://github.com/commonsguy/cwac-endless

这不会看起来像您所需的样子,而更像最后一个网格项是一个按钮。

另一种选择是使用相对布局将按钮对齐到屏幕底部,最初其可见性设置为gone,并且仅在用户到达页面末尾时才设置为可见。这更像是一个hack/解决方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接