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をリストビューに追加して、buttonLayoutの下に表示するようにしました。

于 2012-11-28T13:48:36.097 に答える