我正在努力实现一些应该相对简单的东西,但不知何故,android布局只是在我身上处理不同的波长,我无法正确完成。
我想在左侧有一个简单的复选框,右边有一个填充中间的文本,如果我有多行文本,复选框和按钮会保持垂直居中。
我的布局和可怕的结果如下所示。关于如何实现我所描述的任何想法将不胜感激。
非常感谢
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<CheckBox
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/chkEnabled" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rowText"
android:layout_gravity="center_horizontal" />
<Button
android:id="@+id/btnNavigate"
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_marginRight="2dp"
android:text="Go"
android:layout_gravity="right"
android:textSize="10sp" />
</LinearLayout >
答案 0 :(得分:1)
我建议使用线性布局的重量
android:layout_weight="1"
或者您可以使用relativelayout并将alignparentright true设为true按钮
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<CheckBox
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/chkEnabled" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rowText"
android:text="this is test"
android:layout_weight="1"
android:gravity="center"
android:layout_gravity="center_horizontal|center_vertical" />
<Button
android:id="@+id/btnNavigate"
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_marginRight="2dp"
android:text="Go"
android:layout_gravity="right"
android:textSize="10sp" />
</LinearLayout >
<强>输出强>
答案 1 :(得分:0)
如果你想要复选框和按钮保持垂直居中而不是layout_gravity =&#34; center_vertical&#34;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="5"
android:gravity="center_vertical"
android:orientation="horizontal">
<CheckBox
android:id="@+id/chkEnabled"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"/>
<TextView
android:id="@+id/rowText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3.5"
android:text="here is your text"/>
<Button
android:id="@+id/btnNavigate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_weight="1"
android:text="Go"
android:textSize="10sp"/>