【问题标题】:Adding a header and a footer to a gridview in Android在 Android 中向 gridview 添加页眉和页脚
【发布时间】:2014-08-17 15:16:14
【问题描述】:

我正在尝试在我的 Android 应用中创建具有以下功能的用户个人资料页面: - 标题 - gridview 显示来自该用户的一堆照片 - 页脚(当应用程序在 gridview 中下载更多照片时的下载图标) - header需要和gridview一起移动

换句话说,个人资料页面上的用户体验与 Instagram 用户个人资料页面中的用户体验非常相似。

问题是gridview不支持页眉和页脚。

我可以使用任何解决方案或库来提供所需的用户体验吗?

【问题讨论】:

    标签: android gridview footer instagram


    【解决方案1】:

    只需使用多个RelativeLayouts。

    创建与父顶部对齐的标题布局(50dp 或其他)。然后创建与页面底部对齐的第二个布局(这将是您的页脚)。然后将另一个布局设置为“下方”页眉和“上方”包含您的 GridView 的页脚。

    应该是这样的:

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <RelativeLayout
            android:id="@+id/header"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_alignParentTop="true" >
    
            /* ANYTHING YOU WANT IN YOUR HEADER */
    
        </RelativeLayout>
    
        <RelativeLayout
            android:id="@+id/gridview"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/header"
            android:layout_above="@+id/footer" >
    
            /* GRIDVIEW HERE */
    
        </RelativeLayout>
    
        <RelativeLayout
            android:id="@+id/footer"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true" >
    
            /* ANYTHING YOU WANT IN YOUR FOOTER */
    
        </RelativeLayout>
    
    </RelativeLayout>
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢!我实施了这个解决方案并取得了巨大的进步。我面临的唯一问题是页脚(加载图标)显示在gridview 上方,而不是gridview 下方。这也是你面临的吗?谢谢!
    • @user3399451 您必须将 gridview 设置为“高于”页脚或将页脚设置为“低于”gridview。两者都应该工作。
    • @user3399451 还要记住声明对象的顺序很重要。 XML 文件底部的任何内容都将在顶部。就像 Photoshop 图层一样。
    • 好吧,在我的情况下它不起作用。这是我的 xml 代码 - gist.github.com/ramswaroop/4b5693e45656a3a1fe93 你能告诉我哪里出错了吗?是因为RelativeLayoutLinearLayout 内吗?
    • 是的,很有可能。我相信您需要将 RelativeLayout 作为父布局才能正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2014-10-25
    • 2010-12-03
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    相关资源
    最近更新 更多