1

重複の可能性:
画面の半分の幅のボタン

線形レイヤー (水平方向) 内に 2 つのボタンを作成し、それぞれに画面の半分の幅と少しのマージンを持たせたいと考えています。私はこのxmlレイアウトを持っています:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/main"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txtTitle"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:paddingTop="5dp"
            android:text="@string/Title" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center|fill_horizontal"
            android:orientation="horizontal"
            android:padding="2dp" >

            <Button
                android:id="@+id/btnLeft"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:layout_weight="1"
                android:text="@string/LeftButton" />

            <Button
                android:id="@+id/btnRight"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:layout_weight="1" 
                android:text="@string/RightButton" />

        </LinearLayout>
    </LinearLayout>

さて、このコードはすべて私が望むものに完全に機能しますが、2 つのボタンについて警告が表示されます。「ネストされた重みはパフォーマンスに悪い」と書かれています。私はそれが何であるかを知っていますが、警告を取り除き(そしてパフォーマンスを改善すると思います)、両方のボタンを画面の半分に保つためにレイアウトを変更する方法がわかりません。

何か案は?ありがとう!

4

3 に答える 3

6

これを試して:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/txtTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingTop="5dp"
        android:text="@string/Title" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="2dp"
        android:layout_marginLeft="2dp"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btnLeft"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/LeftButton" />

        <Button
            android:id="@+id/btnRight"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1" 
            android:text="@string/RightButton" />

    </LinearLayout>
</LinearLayout>
于 2012-04-22T14:38:21.167 に答える
2
<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center|fill_horizontal"
            android:orientation="horizontal"
            android:padding="2dp" >

上を下に置き換えてください":::

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="2dp" android:weighSum = "2">
于 2012-04-22T14:38:56.813 に答える
1
<LinearLayout
    android:id="@+id/buttonHolder"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:orientation="horizontal"
    >

    <Button
        android:id="@+id/cmdSignup"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/Signup" />

    <Button
        android:id="@+id/cmdLogin"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/Login" />
</LinearLayout>
于 2012-04-22T15:07:11.430 に答える