Android:当项目太多时,ListView 隐藏下面的布局

标签 android android-layout listview

我有这个 FileBrowser 布局。当链接 View 打开时,我以编程方式填充 ListView。问题是:当 ListView 中的项目太多时,即当有足够的项目出现滚动条时,下面包含两个按钮的LinearLayout 消失。

没有太多的项目。包含两个按钮的 LinearLayout 就在那里: enter image description here

项目太多。我滚动到底部,但包含两个按钮的 LinearLayout 不存在: enter image description here

我的布局:

<LinearLayout
    android:id="@+id/baseContainer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:orientation="vertical">

    <TextView
        android:id="@+id/txtCurrentPath"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="@dimen/textSizeL"
        android:layout_gravity="center"
        android:text="/current/path/"/>

    <ListView
        android:id="@+id/filesListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    </ListView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="bottom|center_horizontal"
        android:orientation="horizontal">

        <Button
            android:id="@+id/cancelBtn"
            style="@style/RexforetTheme.Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/icon_retour"
            android:text="@string/btn_cancel" />

        <Button
            android:id="@+id/selectBtn"
            style="@style/RexforetTheme.Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/icon_check"
            android:text="@string/btn_select" />
    </LinearLayout>
</LinearLayout>

最佳答案

ListView xml 更改为以下内容

<ListView
    android:id="@+id/filesListView"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:orientation="vertical"
    android:layout_weight="1">
</ListView>

android:layout_height 更改为 0dp 并添加 android:layout_weight="1" 将允许 ListView 以使用布局中剩余的可用空间。

这意味着您的两个按钮将始终可见,并位于屏幕底部。

关于Android:当项目太多时,ListView 隐藏下面的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38082787/

相关文章:

android - ListView 仅显示最后一个元素

android - IntelliJ IDEA 注释处理器 : "Obtain processors from project classpath"

Android - 如果我有一个 listView,我怎样才能让整个页面滚动?

安卓 XML : Could not resolve resources

android - 是否有一种字体可以填充按钮中的内容区域?

android - 无法以编程方式重现布局

c# - 我需要显示我的 ListViewItems 的整个文本(未截断)

java - 如何设置特定 ListView 行的文本/图像 - Android?

android - Bottomappbar看不正确

java - java API 中的 ijParcelFileDescriptor 始终为 null