Android 自定义ImageView实现src属性的选择器效果

笔者在做一个项目中遇到的一个小阻碍,于是就实现了这个ImageView达到开发需求

情景需求 > 点击实现图片的切换

可能有人会说了,这还不简单?为ImageView设置点击事件,然后通过重写的onClick(View v)方法判断定义的某一个flag进行图片的切换,伪代码如下:

private boolean flag;
public void onClick(View v){
    if(flag){
        mImageView.setImageResource(R.drawable.xx1);        
    }else{
        mImageView.setImageResource(R.drawable.xx2);
    }
    flag = !flag;
}

笔者连上面的代码知道写出来那为什么还要去自定义一个ImageView了?

具体需求:两个ImageView之间实现单选效果

我们试想下,目前两个ImageView通过上面的代码可能还好,只要在不同的事件中做出不同的判断就好了,但如果一但ImageView增多了了?
A:你不知道用 RadioGroup+RadioButton 啊!
B:是哦!我现在去试下。
……
B:不行啊,虽然RadioButton可以实现,但不好做适配,我为RadioButton设置Drawable,不能居中,而且不能随着RadioButton的大小改变而改变,资源图片是多大就多大,显示区域不够就不能完全显示出来。
A:…?,额,是吗?这样啊!那我们就自定义一个ImageView来实现吧!
B:为什么是自定义ImageView?而不是自定义RadioButton?
A:自定义RadioButton实现ImageView的src属性比较复杂(等着正在看这博客的大神实现),而自定义ImageView来实现单选的属性比较好实现。
B:那怎么实现了?
A:看代码,代码如下:

attrs.xml <为自定义ImageView添加两个属性>

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值