Android 无法将两个表单小部件水平居中
我有一个布局,我想要两个水平居中的ToggleButton小部件;不是紧挨着彼此,而是好像每个人都在自己的一半视图中居中。 以下是我的布局代码:Android 无法将两个表单小部件水平居中,android,android-layout,Android,Android Layout,我有一个布局,我想要两个水平居中的ToggleButton小部件;不是紧挨着彼此,而是好像每个人都在自己的一半视图中居中。 以下是我的布局代码: `<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com
`<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout android:id="@+id/pics"
android:layout_weight="2"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:padding="8dp"
android:layout_alignParentTop="true" >
<ImageView android:id="@+id/prefix"
android:layout_weight="1"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:padding="4dp"/>
<ImageView android:id="@+id/suffix"
android:layout_weight="1"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:padding="4dp" />
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
orientation="horizontal" >
<LinearLayout android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
orientation="horizontal" >
<ToggleButton android:id="@+id/lockPrefix"
android:textOn="Locked"
android:textOff="Unlocked"
android:checked="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
orientation="horizontal" >
<ToggleButton android:id="@+id/lockSuffix"
android:textOn="Locked"
android:textOff="Unlocked"
android:checked="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/toolbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_below="@id/pics"
android:padding="8dp" >
<Button android:id="@+id/mixButton"
style="@style/DefaultButton"
android:layout_height="wrap_content"
android:layout_width="90dp"
android:text="@string/main_mixButton"
android:onClick="mixButtonClick" />
<Button android:id="@+id/exitButton"
style="@style/DefaultButton"
android:layout_height="wrap_content"
android:layout_width="90dp"
android:text="@string/main_exitButton"
android:onClick="exitButtonClick" />
</LinearLayout>
</LinearLayout>`
`
`
(编辑:使XML可读)您需要将每个按钮放置在
线性布局中
,将这些布局的布局宽度
设置为填充父级
,布局重量
设置为1,将重力
设置为水平居中
。希望这有帮助 对于切换按钮,请尝试删除嵌套的线性布局。(我想我已经换了第24行了)
我发誓我试过了——一定是把它放在了
切换按钮上,而不是线性布局上(添加了android:gravity=“center\u horizontal”
)。我还想知道这是否是最有效的方法--似乎添加了几个额外的视图元素以使其居中?似乎是唯一的选择。谢谢你的帮助!谢谢你的回答!这似乎使每个ToggleButton
占据了视图宽度的一半,但这并不是我想要做的。
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
orientation="horizontal"
android:layout_weight="1"
>
<ToggleButton android:id="@+id/lockPrefix"
android:textOn="Locked"
android:textOff="Unlocked"
android:checked="false"
android:layout_width="0dip"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<ToggleButton android:id="@+id/lockSuffix"
android:textOn="Locked"
android:textOff="Unlocked"
android:checked="false"
android:layout_width="0dip"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
< /LinearLayout>