android中的CheckBox改变背景图片后图片显示大小不正确的问题
2016-04-20 11:44
861 查看
今天在工作中遇到一个需求:点击按钮后改变页面中相关显示并改变点击按钮的背景图片显示,最后决定用checkbox来实现,这个时候就需要写一个选择器放两张图片,分别设置为选中时的状态和未选中的状态,
这个选择器是没什么技术含量的,也没什么可说的,关键到了后面给控件设置属性的时候,由于是第一次使用checkbox做相关的操作,很自然的想到了给他的background设置上面写的选择器,结果问题开始了,图片是有了,可是背后的那个黑色选框也还在,当时觉得没什么,应该好解决(事实上也是这样的),很自然的在网上搜了一下方法,当时看到的解决方案是这样的
这种情况时,把宽高设置成自适应还没什么,但是一旦需要固定大小,背景图片根本不按你想象中的大小来,完全按照图片的原始尺寸来展示,这样的话对后期各种屏幕适配有很大的问题
找了半天网上的解决方案,大部分都是给checkbox设置一个style,然后style里面也是上面那句代码,试过以后没有一点点卵用,最后实在没办法我心想要不就让UI给我改小一点图片算了,以后有问题了再说…
但是想了半天还是放弃了,盯着屏幕看了半天,发现这个checkbox的边框还是方方正正的,而不是像背景图片一样有一点圆角,于是尝试又把代码改成这样:
然而还是没什么卵用~~~
以上是背景
就在我快要奔溃的时候,突然灵机一动,是不是两条属性的值可以换一换:
成了…
可能对于大神们来说这并没什么,呵呵一笑,嗤之以鼻
但是也许还有很多没用过的人会有类似的需求,因为我在网上找的时候看见也有许多人也在问这个问题,但是答案大多错误或者代码复杂至极,甚至还有看见说让重写checkbox控件的,还有说在代码里计算宽高再压缩图片然后显示的,我去…
贴出来,给需要的人
转载无需注明出处,就这么任性
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/cb_traffic_no" android:state_checked="false"/> <item android:drawable="@drawable/cb_traffic_is" android:state_checked="true"/> </selector>
这个选择器是没什么技术含量的,也没什么可说的,关键到了后面给控件设置属性的时候,由于是第一次使用checkbox做相关的操作,很自然的想到了给他的background设置上面写的选择器,结果问题开始了,图片是有了,可是背后的那个黑色选框也还在,当时觉得没什么,应该好解决(事实上也是这样的),很自然的在网上搜了一下方法,当时看到的解决方案是这样的
android:button="@drawable/ic_selector_traffic"
这种情况时,把宽高设置成自适应还没什么,但是一旦需要固定大小,背景图片根本不按你想象中的大小来,完全按照图片的原始尺寸来展示,这样的话对后期各种屏幕适配有很大的问题
找了半天网上的解决方案,大部分都是给checkbox设置一个style,然后style里面也是上面那句代码,试过以后没有一点点卵用,最后实在没办法我心想要不就让UI给我改小一点图片算了,以后有问题了再说…
但是想了半天还是放弃了,盯着屏幕看了半天,发现这个checkbox的边框还是方方正正的,而不是像背景图片一样有一点圆角,于是尝试又把代码改成这样:
android:background="@null" android:button="@drawable/ic_selector_traffic"
然而还是没什么卵用~~~
以上是背景
就在我快要奔溃的时候,突然灵机一动,是不是两条属性的值可以换一换:
android:background="@drawable/ic_selector_traffic" android:button="@null"
成了…
可能对于大神们来说这并没什么,呵呵一笑,嗤之以鼻
但是也许还有很多没用过的人会有类似的需求,因为我在网上找的时候看见也有许多人也在问这个问题,但是答案大多错误或者代码复杂至极,甚至还有看见说让重写checkbox控件的,还有说在代码里计算宽高再压缩图片然后显示的,我去…
贴出来,给需要的人
转载无需注明出处,就这么任性
相关文章推荐
- 【资源汇总】Android应用解决方案全攻略
- Android中如何设置RadioButton在文字的右边,图标在左边
- android 多线程
- Android实现多次闪退清除数据
- Android开发学习秘籍笔记(十九)
- Android动画合集
- android 多语言设置
- Android中根据Activity的Category搜索匹配的Activity集合,并对此集合排序
- Android自定义ViewGroup:实现简单的垂直方向线性布局(2)
- 如何修改android studio背景色(包括project view的背景色)保护眼睛人人有责
- Android AIDL介绍
- 【转】Android 4.4前后版本读取图库图片和拍照完美解决方案
- Android四大控件之BroadcastReceiver
- android依据区域高度切割文本问题
- Mac中android adb环境变量配置
- android中自定义控件的用法
- Android ORM 框架——greenDAO
- Android 颜色渲染(九) PorterDuff及Xfermode详解
- Android开发之定义接口暴露数据
- android自定义控件- 自定义组合控件