【问题标题】:Custom checkbox image scale Android Studio自定义复选框图像缩放 Android Studio
【发布时间】:2017-03-08 06:48:08
【问题描述】:

我在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,但它不起作用。有人知道我该如何缩放它,所以我可以看到我固定大小的所有图像?

【问题讨论】:

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


    【解决方案1】:

    我认为您无法通过CheckBox 轻松实现这一目标。我建议切换到支持android:scaleTypeImageView

    将您的选择器更改为使用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>
    

    更改布局以使用 ImageViewandroid: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 上设置点击侦听器即可切换视图的选定状态。

        ImageView myImageView = (ImageView)findViewById(R.id.myImageView);
        myImageView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                v.setSelected(!v.isSelected());
            }
        });
    

    【讨论】:

    • 没有使用 selected,但是你给了我使用 ImageView 的想法,所以谢谢!
    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多