0

レイアウトの下部に 4 つの ImageButton を表示しようとしています。取得できる ImageButton は 3 つだけです。4 番目の ImageButton は表示されません。これが私のコードです。

アプリケーションを表示するために相対レイアウトを使用しています。

<ImageButton
    android:id="@+id/Button1"
    android:layout_weight="1.0"
    android:layout_gravity="bottom"
android:layout_alignParentBottom="true"
    android:longClickable="true"
    android:layout_width="wrap_content"
    android:layout_height="75sp"
    android:background="@android:color/transparent"
    android:src="@drawable/imagebutton2"/>

 <ImageButton
    android:id="@+id/Button2"
    android:layout_gravity="bottom"
    android:layout_toRightOf="@+id/Button1"
    android:layout_width="wrap_content"
    android:layout_height="75sp"
    android:background="@android:color/transparent"
    android:src="@drawable/imagebutton1"
    android:layout_weight="1.0"
    android:layout_marginLeft="2dp"
    android:longClickable="true"/>

 <ImageButton
     android:id="@+id/Button3"
     android:layout_gravity="bottom" 
     android:layout_toRightOf="@+id/Button2"
     android:layout_height="75sp"
     android:layout_width="wrap_content"
     android:layout_weight="1.0"
     android:background="@android:color/transparent"
     android:src="@drawable/imagebutton1"
     android:layout_marginLeft="2dp"
     android:longClickable="true"/>
 <ImageButton
     android:id="@+id/Button4"
     android:layout_gravity="bottom" 
     android:layout_height="75sp"
     android:layout_width="wrap_content"
     android:layout_weight="1.0"
     android:background="@android:color/transparent"
     android:src="@drawable/imagebutton1"
     android:layout_marginLeft="2dp"
     android:longClickable="true"
     android:layout_alignParentRight="true"/>
4

4 に答える 4

0

最後の ImageButton には、次のものはありません。

android:layout_toRightOf="@+id/Button3"

一番下にしたい場合は、これが必要になります。

コードの一部を削除することもお勧めします。

android:layout_gravity="bottom" 
android:layout_weight="1.0"

FrameLayoutこれはまたはでのみ機能しLinearLayoutます。

すべての ImageButton が画面の下部にあることを確認したい場合は、最初のボタンに使用したものを使用します。

android:layout_alignParentBottom="true"
于 2013-09-11T07:52:28.967 に答える
0

RelativeLayout を親レイアウトとして使用し続ける場合は、まず ImageButton 属性からこれを削除する必要があります。

android:layout_weight="1.0"

これは LinearLayout で使用されます。Lint から警告が表示されます (RelativeLayout のレイアウト パラメータが無効です)。

4 つのボタンを画面の下部に表示する場合は、含める必要があります。

android:layout_alignParentBottom="true" 

4 つの ImageButtons すべてで、提供された xml を試しましたが、最初のボタンだけが一番下に表示されています。

最後になりましたが、デザインの一貫性を保つためにボタンを同じサイズにしたい場合は、それらを水平の LinearLayout に配置することをお勧めします

android:layout_alignParentBottom="true"
android:layout_width="fill_parent"

ImageButtons を次のように構成します。

android:layout_width="0dp"
android:layout_weight="1.0" 

次に、その LinearLayout を RelativeLayout に含めます。

別のこと:あなたが使用しているので

android:layout_width="wrap_content"

ImageButtons の場合、画像の幅が広すぎないことを確認する必要があります。そうしないと、最初のボタンがスペースを取りすぎて、最後のボタンが右側に残るため、一部のボタンが画面に表示されない可能性がありますあなたの画面の。

余談ですが、iOS スタイルの下部タブ バーを作成しようとしていないことを願っています。これは Android では嫌われています。詳細はこちら...

良いものを持っている !

于 2013-09-11T07:40:30.267 に答える
0

一部の人々が言うように、最後のボタンには、ないandroid:layout_toRightOf = "@id/Button3"ので、レイアウトの上部に配置されます。

私が通常行うこれを行う他の方法は次のとおりです。

android:layout_toRightOf = "@id/Button1"
android:layout_alignbottom = @id/Button1"

button1 の下部に合わせます。レイアウトによっては、このボタンが他のボタンと一致しない場合があるため、これを行います。

于 2013-09-11T08:00:25.037 に答える