我在列表视图中有一个复选框。点击复选框非常困难。 可点击的区域非常小,我在stackoverflow中检查了几个答案,但没有一个工作。请任何人都可以帮助如何增加android中复选框的可点击区域。
我的复选框的代码 -
<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" />
答案 0 :(得分:1)
你可以增加复选框大小,就像这个对我有用。
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:scaleX="1.80"
android:scaleY="1.80" />
您需要更改scaleX和scaleY。
答案 1 :(得分:0)
根据评论中的建议添加填充以增加触摸区域
<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" />
Checkbox drawable将偏心,因为它右侧有一个文本字段。要有一个居中的drawable,你可以做以下的修改
android:button="@null"
android:drawableStart="@drawable/white_checkbox"
根据Material Design - Layout metrics and keylines
触摸目标应至少为48 x 48 dp。因此,相应地修改填充。
答案 2 :(得分:0)
仅添加填充导致我的复选框未居中。以下内容对我有用,但是我为复选框指定了固定大小(根据我的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"
/>
答案 3 :(得分:0)
我发现此解决方案很简单。 在checbox中,图像可向左绘制,方法是将其更改为drawableRight padding,将广告图像居中: 选择器的Drawalbe默认为左侧,更改为右侧可解决问题:
<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"/>