【发布时间】:2017-01-11 04:37:33
【问题描述】:
我会用一张图来解释:
好的。当我将重力设置为“中心”时,这就是 CheckBox 的工作方式。但是,我想把它放在整个物体的中心,以红色区域为参考。
我该怎么做?
也许使用android:paddingLeft=-30dp,但我认为有更好的方法。
抱歉英语不好,希望你能理解。
【问题讨论】:
我会用一张图来解释:
好的。当我将重力设置为“中心”时,这就是 CheckBox 的工作方式。但是,我想把它放在整个物体的中心,以红色区域为参考。
我该怎么做?
也许使用android:paddingLeft=-30dp,但我认为有更好的方法。
抱歉英语不好,希望你能理解。
【问题讨论】:
我不认为复选框有这样的属性,这是实现这种要求的替代解决方案:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text=""
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="MyCheckBox"/>
</RelativeLayout>
【讨论】:
试试这个
如果你固定宽度
<CheckBox
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="My Check Box"
android:gravity="center"
/>
使用 Wrap Parent 和 padding...
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="My Check Box"
android:paddingLeft="20dp"
android:gravity="center"
/>
通过相对布局和TextView
<RelativeLayout
android:id="@+id/rlv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@android:color/holo_red_dark"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@null"
android:id="@+id/checkbox"
android:gravity="center"></CheckBox>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/checkbox"
android:layout_marginLeft="20dp"
android:layout_centerVertical="true"
android:text="My Check Box"/>
</RelativeLayout>
【讨论】:
我也遇到了同样的问题,这个怎么样?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:id="@+id/relativelayout1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingTop="@dimen/abc_action_bar_icon_vertical_padding_material">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox"
android:id="@+id/checkbox1"
android:gravity="center"
android:layout_centerHorizontal="true"
android:checked="false"></CheckBox>
</RelativeLayout>
</LinearLayout>
【讨论】:
你可以使用 textAligment 属性
checkbox.textAlignment = View.TEXT_ALIGNMENT_CENTER
【讨论】:
Chips