需要在Android中为Gridview创建Footer

Dha*_*ant 5 layout android gridview

见下面的布局.我无法在页面下方放置页脚按钮GridView.任何帮助将不胜感激.

当Gridview填写屏幕时,不显示按钮.

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
 >

<GridView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gridview"
    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" />

<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/gridview"
    android:text="Load More Images" />

 </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

sra*_*ain 9

我一直保持寻找了很长时间一个GridView,使我们能够addFooterViewaddHeaderView喜欢ListView.

这是2年前的帖子.我是按照谷歌搜索结果中的链接来到这里的.我不知道天气这个问题是否已经解决.

如果没有,这是一个可能有用的图书馆.https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter.

这很简单:

GridViewWithHeaderAndFooter gridView = (GridViewWithHeaderAndFooter) v.findViewById(R.id.ly_image_list_grid);

LayoutInflater layoutInflater = LayoutInflater.from(this);
View headerView = layoutInflater.inflate(R.layout.test_header_view, null);
View footerView = layoutInflater.inflate(R.layout.test_footer_view, null);
gridView.addHeaderView(headerView);
gridView.addFooterView(footerView);
Run Code Online (Sandbox Code Playgroud)

这是一个屏幕快照:

屏幕截图

希望这会有所帮助.祝好运!


Ted*_*opp 0

尝试先添加按钮并将网格视图放在其顶部。像这样的东西应该有效:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Load More Images" />

    <GridView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/gridview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/button1"
        android:columnWidth="90dp"
        android:gravity="center"
        android:horizontalSpacing="10dp"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10dp" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

编辑

根据您的评论,我可以明白为什么上述不起作用。假设您的意思是希望按钮仅在滚动到底部后才出现(而不是始终显示在屏幕上),这是我推荐的布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

        <GridView
            android:id="@+id/gridview"
            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" />

        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Load More Images" />

    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

  • @DhavalKhant - 让我们看看我是否满足了要求。当 GridView 很短时,按钮应位于其正下方,所有额外空间均位于按钮下方。但是当 GridView 很高时,它应该垂直截断,并且按钮应该位于屏幕底部。是对的吗? (2认同)