我正在尝试实现一些应该相对简单的东西,但不知何故 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 >
最佳答案
我建议使用线性布局的权重
android:layout_weight="1"
或者你可以使用它 relativelayout 并将 alignparentright 设置为 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 >
输出
关于Android布局复选框-文本-右对齐按钮组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41390533/