9

ListViewその下に表示したいものに取り組んでButtonいます。次のコードを使用していますが、機能していません。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false" />

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

</LinearLayout>

ボタンが表示されないのはなぜですか?

4

5 に答える 5

14

リスト ビューはページ全体を表示します。コードの要素に必要な重みを与えるようにしてください。このコードを使用して、

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false"
    android:layout_weight="5" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:layout_weight="1" />

</LinearLayout>
于 2012-06-22T16:51:12.470 に答える
9

これは、ListView高さが に設定されているためwrap_contentに発生しています。これにより、すべてのアイテムを収容できるように拡張され、画面上にボタン用のスペースがなくなります。相対的なレイアウト設定を使用して、ボタンを下部に配置し、次にリストビューを使用して残りのスペースを占有できます。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

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

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false"
    android:layout_above="@id/button1" />

</RelativeLayout>
于 2012-06-22T16:42:12.050 に答える
6

私はこの行を追加しました........ Android:weight="1" .......... 以下のようにリストビュー内に

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false" 
    android:weight="1" 
/>

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

</LinearLayout>
于 2015-07-06T11:31:24.053 に答える
0

ウェイトを追加するか、下に揃えると、ボタンは常に画面の下部に浮かびます。リストはその下に表示されます。

リストを下にスクロールした後にボタンを表示する場合は、ボタンをフッターとしてリスト ビューに追加します。

于 2016-06-15T10:32:14.503 に答える