自定义复选框图像缩放Android Studio

时间:2017-03-07 22:39:53

标签: android android-layout android-studio checkbox scale

我在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,但它不起作用。有人知道我怎么能缩放它,所以我看到我修复的尺寸的所有图像?

1 个答案:

答案 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