0

2つのボタンで画面幅の半分を使用したいのですが、1つのボタンだけが画面に表示され、全画面幅で表示されます。私はすべての解像度でそれが欲しかったので、固定幅を作りたくありません。1つのボタンは左半分になり、もう1つのボタンは右半分になります。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="match_parent" 
        android:gravity="center">


        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button"
            android:layout_gravity="left" />


        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button" 
            android:layout_gravity="right" />

    </LinearLayout>

</ScrollView>
4

2 に答える 2

3

layout_weightビューのサイズを定義するように定義できます。ウェイト設定(lintによる)で使用layout_widthする場合は、tobeを使用するのが最善の方法です。0dp両方のボタンの値が同じ場合、両方とも50%の幅を使用しています。その感覚を得るために値をいじってみてください。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:layout_weight="1" />

</LinearLayout>
于 2013-01-06T18:48:05.663 に答える
2

次のレイアウト手法を使用します。を使用しLinear Layoutます。ボタンのをに割り当てlayout_widthます0dip全幅と同じにlayout_weightなるよう1に、各ボタンに割り当てます。各ボタンの割り当てlayout_heightmatch_parent

    <LinearLayout 
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <Button
            android:id="@+id/ButtonLeft"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="ButtonLeft"
            />
        <Button
            android:id="@+id/ButtonRight"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="ButtonRight"
            />

    </LinearLayout>

PS:幅ではなく画面の半分の高さを占めるようにする場合はorientation、レイアウトを変更して、上記のXMLverticallayout_widthおよびXML内の値を交換します。layout_height

layout_weightについて

layout_weight親要素のスペースを子の間でどのように分割するかを決定します。ボタン間の幅を1:4に分割する場合はlayout_weight、1つのボタンを「1」に割り当て、もう1つのボタンを「3」に割り当てます-> 1 /(1 + 3)=1/4にします。繰り返しますが、どのスペースで機能しlayout_weightますか?高さまたは幅?layout_weight空き領域または未使用領域からの配布を行います。0dip上記のレイアウトでは、ボタンの幅を割り当てています。したがって、親の水平方向のスペースまたは幅は未使用または空きであり、に応じてボタン間で分割されますlayout_weight。お役に立てれば。

于 2013-01-06T18:48:36.850 に答える