5

2 つのボタンがあり、それらを水平に配置して、画面が隣り合うようにします。スペースが残っていません。linearlayout と set weight で実行できることはわかっていますが、XML に既に重みがあるため、relativelayout が必要です。そのため、2 つのウェイトを互いに配置するとパフォーマンスが低下します。

私はこのようにしてみました

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_selector" >

    <Button
        android:id="@+id/b_orderMeal_send"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:background="@drawable/button_selector"
        android:clickable="true"
        android:focusable="true"
        android:text="@string/b_send"
        android:textColor="#FFFFFF" />

    <Button
        android:id="@+id/b_orderMeal_cancel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:background="@drawable/button_selector"
        android:clickable="true"
        android:focusable="true"
        android:text="@string/b_cancel"
        android:textColor="#FFFFFF" />
</RelativeLayout>

しかし、キャンセルボタンだけが表示されます。これは、「親を埋める」を使用したためです。解決策を教えてください。

4

2 に答える 2

18

これを試して

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

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

</LinearLayout>
于 2013-02-18T13:38:37.777 に答える
5

コードに追加してみてください

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_selector" >


    <Button
            android:id="@+id/b_orderMeal_send"

           android:layout_toLeftOf="@+id/view"
    ....
    />

     <View 
            android:id="@+id/view"
            android:layout_height="1dp"
            android:layout_width="0dp"
            android:layout_centerHorizontal="true"
            />

     <Button
            android:id="@+id/b_orderMeal_cancel"

            android:layout_toRightOf="@+id/view"
    ...
    />
</RelativeLayout>
于 2013-02-18T13:38:26.753 に答える