>我在列表视图中有一个复选框。 点击复选框非常困难。 可点击区域非常小,我在 stackoverflow 中检查了几个答案,但没有一个有效。 请任何人帮助如何增加安卓复选框的可点击区域。
我的复选框的代码-
<CheckBox android:id="@+id/CheckBox"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_weight="0.05"
android:button="@drawable/white_checkbox"
android:visibility="visible" />
您可以增加复选框的大小,就像这个对我有用。
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:scaleX="1.80"
android:scaleY="1.80" />
根据需要更改 scaleX 和 scaleY。
如注释中建议的那样,添加填充以增加触摸区域
<CheckBox
android:id="@+id/CheckBox"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_weight="0.05"
android:button="@drawable/white_checkbox"
android:padding="10dp"
android:visibility="visible" />
复选框可绘制对象将取消居中,因为它的右侧有一个文本字段。要获得居中可绘制对象,您可以进行以下修改
android:button="@null"
android:drawableStart="@drawable/white_checkbox"
根据材料设计 - 布局指标和关键线
触摸目标应至少为 48 x 48 dp。因此,请相应地修改填充。
我发现这个解决方案很简单。在Checbox图像是可绘制的左边,通过将其更改为可绘制的右填充工作广告图像居中:选择器的绘图从左侧默认开始,在右侧更改它以解决问题:
<androidx.appcompat.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:drawableEnd="@drawable/custom_checkbox_selector"
android:paddingStart="15dp"
android:paddingTop="15dp"
android:paddingEnd="15dp"
android:paddingBottom="15dp"/>
只是添加填充导致我的复选框不居中。以下内容对我有用,但是我为复选框指定了固定大小(根据我的 UI 规范(。这个想法是在左侧而不是右侧添加填充(我在右侧有另一个标签(。我也在顶部和底部添加了填充,使触摸目标更大,并且仍然保持复选框居中。
<CheckBox
android:id="@+id/checkbox"
android:layout_width="30dp"
android:layout_height="45dp"
android:paddingLeft="15dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:button="@drawable/checkbox"
android:checked="false"
android:gravity="center"
/>