将更多元素添加到ListView时,向下移动视图

时间:2014-09-06 11:54:33

标签: android android-layout android-linearlayout android-relativelayout

如何让ListView填满屏幕并同时移动下面的视图直到它到达底部?例如,对于下面的图像,我想在添加新元素时“创建”按钮向下移动屏幕,然后当按钮到达底部时,然后让ListView开始滚动(创建按钮仍然出现在屏幕)。

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        >

    <ListView
            android:id="@+id/galleryList"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:layout_alignParentTop="true"
            />

    <LinearLayout
            android:id="@+id/lowerButtonLayout"
            android:layout_width="fill_parent"
            android:layout_height="60dp"
            android:background="#ffa8269f"
            android:layout_alignParentBottom="true"
            xmlns:android="http://schemas.android.com/apk/res/android">

        <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@color/button_button_bg_colour"
                android:onClick="addRow"
                android:text="Create"/>
    </LinearLayout>

</RelativeLayout>

enter image description here

1 个答案:

答案 0 :(得分:0)

不幸的是,它只能用xml文件完成。

最简单的方法是拥有2个按钮。一个位于主布局中,一个位于ListView中(例如,作为页脚视图)。然后,根据ListView是否达到特定高度,只需将一个按钮的可见性设置为View.GONE即可。 如果您的单元格具有相同的高度,则计算非常简单。

请勿在{{1​​}}内使用ListView。它会破坏ScrollView的所有目的(能够回收细胞)。