【Android】问题记录2015-11-11 13:50:16

本文介绍如何通过继承CheckBox来自定义选中状态的图片显示,并提供了使用DownloadManager进行文件下载及自动安装的方法。同时,还介绍了如何利用XML选择器改变按钮在不同状态下的外观。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.checkBox复写,改变图片
非常简单:继承checkbox后,复写setChecked中设置图片background就可以

public class DownloadGameCheckBox extends CheckBox {
    public DownloadGameCheckBox(Context context) {
        super(context);
    }

    public DownloadGameCheckBox(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public DownloadGameCheckBox(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void setChecked(boolean checked) {
        if (checked) {
            this.setBackgroundResource(R.mipmap.icon_data_select);
        } else {
            this.setBackgroundResource(R.mipmap.icon_data_unselect);
        }
        super.setChecked(checked);
    }

}

这样写需要在xml里配置属性:


        android:button="@color/transparent"

或者设置成@null,不过null在有些情况下回出现问题,不推荐使用
2.DownloadManager使用
链接
说明十分详细,给力的不行,不过是英文的
下载完成后自动安装:链接
当然,别忘了开权限:

<uses-permission
        android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
  1. selector的pressed、focused状态改变时图片随之改变
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/your_imagename_while_focused"/>
<item android:state_pressed="true" android:drawable="@drawable/your_imagename_while_pressed" />
<item android:drawable="@drawable/image_name_while_notpressed" />  //means normal
</selector>

这个有代码方法、xml方法:链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值