2016-08-18 6 views
1

私は3つのイメージボタン(バック、メニュー、フォワード)を含むレイアウト(他のレイアウトにも含めることができます)を作成しようとしています。私は私が間違ってやっているのか理解していない同じ行に3つのImageButtonがすべて表示されないのはなぜですか?

(後に、私は、各レイアウトの一番下にある他のレイアウトにこのレイアウトを含むため)

これらの3つの画像のボタンは、私ができる、同じ行にする必要があります「tはすべての3つのボタンが表示され、それらは同じ行にない(同じ水平線)

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



    <ImageButton 
     android:id="@+id/buttomMenuBack" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Back" 
     android:background="@drawable/back_button" 
     android:onClick="onClickButtomMenu"/> 

    <ImageButton 
     android:id="@+id/buttomMenuMenu" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Menu" 
     android:background="@drawable/HomButton" 
     android:onClick="onClickButtomMenu"/> 

    <ImageButton 
     android:id="@+id/buttomMenuForward" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Forward" 
     android:background="@drawable/forward_button" 
     android:onClick="onClickButtomMenu"/> 

</LinearLayout> 

enter image description here

+0

は、あなたが投稿できますこれを回避するコードもありますか? – user3331142

+0

完全なレイアウトxmlを追加してください。 – sumandas

+0

「レイアウト」?どのレイアウトですか? Android自体にはあらかじめ定義されたレイアウトはほとんどありません。 – kosa

答えて

1

あなたのイメージのいくつかはあまりにも大きいいるように見えるので、それは収まらないだろうが、それが収まるますので、我々は比例して重み付けすることができます。 weightSumlayout_weight、3と1を使用して

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:weightSum="3"> 

    <ImageButton 
     android:id="@+id/buttomMenuBack" 
     android:layout_weight="1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Back" 
     android:background="@drawable/back_button" 
     android:onClick="onClickButtomMenu"/> 

    <ImageButton 
     android:id="@+id/buttomMenuMenu" 
     android:layout_weight="1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:text="Menu" 
     android:background="@drawable/HomButton" 
     android:onClick="onClickButtomMenu"/> 

    <ImageButton 
     android:id="@+id/buttomMenuForward" 
     android:layout_weight="1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:text="Forward" 
     android:background="@drawable/forward_button" 
     android:onClick="onClickButtomMenu"/> 

</LinearLayout> 

、我々は、彼らがそれぞれがあなたのLinearLayoutのスペースの1/3を取るすべての確保(ああ、それを上書きしますlayout_weightのでlayout_widthは0である)

-1

異なるサイズの画像のように見えます。 これらは水平線形レイアウトであると仮定します。固定DPに高さを変えてみて、すべての3つのimagebuttons

例えば1に重みを置く:

<ImageButton 
android:id="@+id/buttomMenuBack" 
android:layout_width="0dp" 
android:layout_weight="1" 
android:layout_height="35dp" 
android:text="Back" 
android:background="@drawable/back_button" 
android:onClick="onClickButtomMenu"/> 

あなたはすべての3つのimagebuttonsのためにこれを行う場合は、彼らが画面を埋め、すべて同じになります高さ、お互いのすぐ隣に。

+0

私の答えは見たことがない20分前lol – LBJ33

0

「水平」としての向きのLinearLayoutを使用できます。これにより、すべてのビューが一列に表示されます。このLinearLayoutは、例えばRelativeLayoutのように別のレイアウト内にネストされたレイアウトとして存在することができます。このレイアウト設計は、他のXMLレイアウトでもインポートできます。

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
    <ImageButton 
     android:id="@+id/buttomMenuBack" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Back" 
     android:background="@drawable/back_button" 
     android:onClick="onClickButtomMenu"/> 

    <ImageButton 
     android:id="@+id/buttomMenuMenu" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Menu" 
     android:background="@drawable/HomButton" 
     android:onClick="onClickButtomMenu"/> 

    <ImageButton 
     android:id="@+id/buttomMenuForward" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Forward" 
     android:background="@drawable/forward_button" 
     android:onClick="onClickButtomMenu"/> 
</LinearLayout> 
+0

私は試しましたが、うまくいきません – user3668129

+0

イメージサイズが大きすぎて画面に収まらないようです。 Android搭載端末の理想的な画像サイズは、さまざまな画面サイズに応じて、36x36,48x48,72x72、または96x96のようにする必要があります。 Androidスタジオには、さまざまな画面サイズの画像をフォーマットするオプションが用意されています。 – pradyneo

関連する問題