我在drawable中创建了一个复选框
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/musican1"
android:state_checked="false"/>
<item android:drawable="@drawable/musica"
android:state_checked="true"/>
<item android:drawable="@drawable/musican1"/>
</selector>
我将它添加到我的布局
<CheckBox
android:layout_width="200dp"
android:layout_height="200dp"
android:checked="true"
android:button="@drawable/checkmusic"
android:scaleType="fitCenter"
/>
当复选框的尺寸小于图像时,会出现问题。尺寸。我只能看到图像的某些部分,因为它没有正确缩放。我尝试使用在ImageView中使用的scaleType,但它不起作用。有人知道我怎么能缩放它,所以我看到我修复的尺寸的所有图像?
答案 0 :(得分:0)
我认为您无法通过CheckBox
轻松实现这一目标。我建议您切换到支持ImageView
的{{1}}。
更改您的选择器以使用android:scaleType
而不是selected
。
checked
将您的布局更改为<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/musica" android:state_selected="true"/>
<item android:drawable="@drawable/musican1"/>
</selector>
使用ImageView
:
android:scaleType=centerInside
在代码中,您只需在<ImageView
android:id="@+id/myImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:selected="true"
android:src="@drawable/checkmusic"
android:scaleType="centerInside" />
上设置点击监听器即可切换选定的视图状态。
ImageView