2

アクティビティの最後にボタン バーを表示したい。次の名前のレイアウトを作成しました: batton_bar_ref.xml:

<?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" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@drawable/shape_blue_light_horizental_gradiant_notrounded"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="10dip"
        android:paddingTop="10dip" >

        <Button
            android:id="@+id/pay_button"
            android:layout_width="100dip"
            android:layout_height="50dip"
            android:text="@string/pay"
            android:textSize="16sp"
            android:textStyle="bold" >
        </Button>
    </LinearLayout>

</RelativeLayout>

そして、それ<include layout="@layout/button_bar_ref"/>を別のレイアウトに追加します。

警告メッセージが表示されています:

This LinearLayout layout or its RelativeLayout parent is useless; transfer the background attribute to the other view.

どうすれば修正できますか?

補遺:

  1. ボタンバーは画面の最後にある必要があります。
  2. Linear レイアウトには背景があることに注意してください。
4

5 に答える 5

2

不要なタグを削除してレイアウトを最適化することをお勧めします。あなたの場合、 LinearLayout 以外の RelativeLayout の下に子がないため、この特定のレイアウトは実際には正しく設計されていません。

まず、この警告を無視してください。このレイアウト ファイルを含める予定のレイアウト ファイルの設計に成功すると、このファイルで宣言されているレイアウトの 1 つを削除できることがわかります。

于 2013-06-29T11:08:56.867 に答える
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="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@drawable/shape_blue_light_horizental_gradiant_notrounded"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="10dip"
        android:paddingTop="10dip" >

    <Button
        android:id="@+id/pay_button"
        android:layout_width="100dip"
        android:layout_height="50dip"
        android:text="@string/pay"
        android:textSize="16sp"
        android:textStyle="bold" >
    </Button>
</LinearLayout>
于 2013-06-29T12:19:03.787 に答える
0

RelativeLayoutxml ファイルからタグを削除してみてください

于 2013-06-29T11:01:45.720 に答える
0

この警告は、レイアウトにレイアウトでもある子が 1 つしかない場合にトリガーされます。この場合、どちらか一方を問題なく削除できます。これらの冗長なレイアウトは UI の全体的なパフォーマンスを低下させるため、削除することをお勧めします。

あなたの場合、RelativeLayout は使用されません。これを削除しても変化はありません。したがって、この警告が表示されます。しかし、これは単なる警告です。これを使っても損はありません

于 2013-06-29T11:01:51.543 に答える
0

以下のコードを使用して問題を修正してください。

<?xml version="1.0" encoding="utf-8"?>

<Button
    android:id="@+id/pay_button"
    android:layout_width="100dip"
    android:layout_height="50dip"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="@string/pay"
    android:textSize="16sp"
    android:textStyle="bold" >
</Button>

于 2013-06-29T12:14:35.370 に答える