我想在线性图层(水平方向)内创建两个按钮,每个按钮具有屏幕的半宽度,还有一点边距。 我有这个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>
好吧,所有这些代码都能完美地满足我的需求,但是我收到了关于我的两个按钮的警告。它说 “嵌套权重对性能不利” 。我知道它是什么,但我不知道如何改变我的布局以摆脱警告(并提高性能,我想)并保持两个按钮都有一半的屏幕。
有什么想法吗?谢谢!
答案 0 :(得分: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>
答案 1 :(得分:1)
<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">
答案 2 :(得分: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>