0
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/buttonLayout" 
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <Button
        android:id="@+id/vehicleButton"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:text="Refresh"
        android:onClick="getVehicles" />
        <Button
        android:id="@+id/logoutButton"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:text="Logout"
        android:onClick="logout" />
    </LinearLayout>

    <ListView
        android:id="@+id/android:list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

大家好,当上面的 ListView 只填充了几个项目时,我仍然可以看到按钮,但是,当 ListView 填充的内容超过屏幕可以显示的内容时,按钮似乎被“推”到 UI 上方并且是不再可见,现在只有可滚动的 ListView 可见。

关于如何使按钮再次出现在更长的列表中,有什么想法吗?

谢谢

4

2 回答 2

1

尝试将 ListView 包装在 LinearLayout 中。您正在为按钮添加权重以确保它们出现,但是当 ListView 呈现时,它似乎导致了这种情况。让我知道这是否有帮助。

<LinearLayout
    android:layout_height="0"
    android:layout_width="fill_parent"
    android:layout_weight="0"
    android:orientation="vertical">
    <ListView
        android:id="@+id/android:list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
</LinearLayout>
于 2012-11-23T10:06:32.130 回答
0

作为参考,我使用以下方法解决了这个问题:

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
        <LinearLayout 
            android:id="@+id/buttonLayout" 
            android:layout_height="40dp"
            android:layout_width="match_parent"
            android:orientation="horizontal">
            <Button
            android:id="@+id/vehicleButton"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:text="Refresh"
            android:onClick="getVehicles" />
            <Button
            android:id="@+id/mapButton"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:text="Map" />
            <Button
            android:id="@+id/logoutButton"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:text="Logout"
            android:onClick="logout" />
        </LinearLayout>
        <ListView
            android:id="@+id/android:list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_below="@id/buttonLayout">
        </ListView>
</RelativeLayout>

所以我使用了相对布局,并将 android:layout_below="@id/buttonLayout 添加到 listview 以强制它显示在 buttonLayout 下面

于 2012-11-28T13:48:36.097 回答