2016-12-19 7 views
0

ボタンがあるLinearLayoutが縦になっています。このボタンをLinearLayoutの幅の70%にして中央に配置したいと思います。Androidのlayout_weightとwidthを縦方向に設定LinearLayout

layout_widthを0に設定している間に、layout_weightを0.7に設定しようとしましたが、垂直なLinearLayoutなので、幅には影響しませんが、高さにのみ影響します。

縦レイアウトで幅の太さを変更するにはどうすればよいですか?私はその重さを設定することができるようにボタンのためだけに入れ子の水平LinearLayoutを追加する必要がありますか?

+0

あなたのXMLコードを送ってください。 –

+0

と他の30%レイアウトでは、 '0dp'幅と' 0.3'重みを与えなければなりません。 – Ironman

+0

あなたのXMLコードを投稿してください。 – Noorul

答えて

2

新しいPercentRelativeLayoutを使用してみてください、とあなたは、ネストされたレイアウトなしにしようとしているものを達成することができます。

はあなたの依存関係でこれを含める:com.android.support:percent:25.1.0

そして、あなたのコード

​​
+0

パーセントの線形レイアウトはありますか? –

+0

いいえ、それは問題ではありません –

+0

私はウィジェットを別のウィジェットの下に伝えることができますが、私はそれを避けようとしていて、レイアウトはそれ自体をlinearlayoutのように設定しようとしています –

0
linearLayout -> orientation = horizontal 
button -> layout width = 0dp 
     -> layout height = wrap_content 
     -> layout weight = 1 
+0

しかし、私は水平ではなくレイアウトの垂直線を必要とする –

+0

ボタンの幅をmatch_parentに設定して左右の余白を追加するか入れ子にしたレイアウトを使用することができます –

+0

設定このような両面のマージンは良い習慣と考えられていましたか? –

0

でこれをチェックしてみてください。

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

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.7" 
    android:gravity="center" 
    android:orientation="vertical"> 
    <Button 
     android:id="@+id/yourRequiredButton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/container" 
     android:layout_weight="0.3" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" /> 

</LinearLayout> 
関連する問題