2

こんにちは、いくつかのデータ行を含む listActivity を作成し、画面の下部 (リストではありません) にボタンを配置しました。他の行が表示されるようにするには、ボタンが透明で、リストの最後の要素と重なっているように見えます。そのため、見た目が良くありません。このような問題を解決する方法について何か提案はありますか?リストの一番下のボタンにスペースを残す方法はありますか?フッター ビューで実装したくありません。より鮮明な画像が得られるように、xml ファイルを投稿します。

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

  <DragNDrop.DragNDropListView
      android:id="@+id/android:list"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_alignParentLeft="true"
      android:layout_alignParentTop="true"
      android:layout_weight="1" >
  </DragNDrop.DragNDropListView>

  <Button
      android:id="@+id/btn"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:alpha="1"
      android:drawableLeft="@drawable/back"
      android:text="Return" />

</RelativeLayout>
4

5 に答える 5

2

これを試して

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

  <Button
      android:id="@+id/btn"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:alpha="1"
      android:drawableLeft="@drawable/back"
      android:text="Return" />

  <DragNDrop.DragNDropListView
      android:id="@+id/android:list"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_above="@id/btn" >
  </DragNDrop.DragNDropListView>

</RelativeLayout>

RelativeLayout では、要素はデフォルトで左上隅に配置されます。List で指定する必要はありません。

于 2012-07-31T07:56:01.263 に答える
1

これを試してみてください。こうすると、ビュー全体でボタンが10%になり、リストビューで90%になり、ボタンが最後のリスト要素と重ならないようになります。

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

 <ListView
  android:id="@+id/android:list"
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="90" >
</ListView>

<Button
  android:id="@+id/btn"
  android:layout_width="wrap_content"
  android:layout_height="0dp"
  android:layout_weight="10"
  android:text="Return" />

</LinearLayout>
于 2012-07-31T08:05:27.543 に答える
1

相対レイアウトで最初にボタンを配置し、次に属性を設定します

android:layout_above="@id/btn"

リスト表示に。したがって、リストの高さは最大の高さからボタンの高さを引いたものであるため、最後の要素はボタンによって検出されません。

于 2012-07-31T07:55:14.993 に答える
1

最も簡単な方法は、ListView の下の ButtonとLinearLayoutwithを使用することです。orientation = verticalListViewlayout_weight = 1

于 2012-07-31T07:53:12.903 に答える
1

以下に示すようにxmlを変更します

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

<DragNDrop.DragNDropListView
  android:id="@+id/android:list"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_alignParentLeft="true"
  android:layout_alignParentTop="true"
  android:layout_above="@id/btn"
  android:layout_marginBottom="50dp"
  android:layout_weight="1" >
 </DragNDrop.DragNDropListView>

<Button
  android:id="@+id/btn"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentBottom="true"
  android:layout_centerHorizontal="true"
  android:alpha="1"
  android:drawableLeft="@drawable/back"
  android:text="Return" />

</RelativeLayout>
于 2012-07-31T07:59:38.093 に答える