0

我更改了 Android 2.3.4 复选框的位图,并希望设置位图的大小以缩放它们。我改变了这样的复选框:

<CheckBox
    android:id="@+id/cb1"
    android:button="@drawable/checkbox"
    android:layout_alignParentLeft="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Sort: 1" />

与匹配的 xml drawable

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"  android:state_focused="true"    android:drawable="@drawable/checkbox_on_background_focus_yellow"/>
    <item android:state_checked="false" android:state_focused="true"    android:drawable="@drawable/checkbox_off_background_focus_yellow"/>
    <item android:state_checked="false" android:drawable="@drawable/checkbox_off_background" />
    <item android:state_checked="true"  android:drawable="@drawable/checkbox_on_background" />
</selector>

如何设置 dip/dp 值来更改复选框位图的大小?

4

3 回答 3

14

实际上,您可以将图像设置为复选框大小的方法是将

android:button="@null"
android:background="@drawable/checkbox" <!-- your custom selector -->

这样,您的自定义复选框图像(在两种状态下,选中和未选中)将始终适合您的复选框的大小。

于 2013-05-03T14:04:59.850 回答
2

我通过使位图大小合适来解决它。我现在无法缩放它,但我在几台具有不同 dpi 设置的设备上对其进行了测试,看起来还不错。目前。

于 2012-04-16T23:47:22.903 回答
0

只需定义相关的 Drawable 并将它们设置到您的复选框属性中。

android:background="@drawable/my_background"
于 2012-04-14T21:31:04.880 回答