我创建了一个自定义复选框drawable:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_checked="false"
android:drawable="@drawable/ic_checkbox_unchecked" />
<item
android:state_checked="true"
android:drawable="@drawable/ic_checkbox_checked" />
<item
android:drawable="@drawable/ic_checkbox_unchecked" />
</selector>
我使用的是这样的:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:button="@drawable/checkbox"
/>
我创建了两个可绘制的图像(一个用于未选中,一个用于检查),每个尺寸一个(xxxhdpi
,xxhdpi
等)。
然而,我的复选框是这样的:
它为什么这么大?如何将其缩小到20x20dp?
答案 0 :(得分:5)
而不是wrapcontent
尝试
<CheckBox
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:button="@drawable/checkbox"
/>
或强>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:button="@drawable/checkbox"
android:scaleX="0.40"
android:scaleY="0.40"
/>
更改比例值,直到达到所需的size
。
答案 1 :(得分:0)
您可以使用xml创建此类复选框,然后获得所需的结果。
将另一个布局文件名设为ic_checkbox_unchecked
,并将此文件设置为可绘制的图像。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:topLeftRadius="0dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
/>
<solid
android:color="#FFFFFC"
/>
<size
android:width="25dp"
android:height="25dp"
/>
<stroke
android:width="3dp"
android:color="#236C87"
/>
您可以使用<size />
标记来调整宽度和高度。
您也可以使用<stroke />
标记更改边框宽度。