您的位置:首页 > 移动开发 > Android开发

Android为CheckBox(复选框)设置可规定大小的图片

2016-09-24 17:50 696 查看
当我们需要在CheckBox后面放一张图片的效果的时候.

如果在XML文件中使用drawableRight

<CheckBox

android:drawableRight="@drawable/image"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />


的话,如果图片尺寸过大,就会发生图片铺满整个屏幕的情况



如果给CheckBox设置大小

<CheckBox

android:drawableRight="@drawable/image"

android:layout_width="100dp"

android:layout_height="100dp" />


就不能完全展示图片



如果在java代码中使用setButtonDrawable的话会遇到跟第一种方法同样的问题,无法规定图片的大小

所以这里我就使用图文混排的方法,利用图片代替文字,用setTest的方法为CheckBox设置图片,具体代码如下

布局文件:

<CheckBox

android:id="@+id/cb"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />


java代码:

//获取CheckBox对象

CheckBox cb=(CheckBox)findViewById(R.id.cb);

//创建Drawable对象

Drawable drawable=getResources().getDrawable(R.drawable.xingchen);

//设置drawable的位置,宽高

drawable.setBounds(0,0,300,300);

//创建ImageSpan对象

ImageSpan imageSpan=new ImageSpan(drawable);

//创建SpannableStringBuilder对象

SpannableStringBuilder spannableStringBuilder=new SpannableStringBuilder(".");

//将imageSpan放入spannableStringBuilder中

spannableStringBuilder.setSpan(imageSpan, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

//设置cb的文本,将spannableStringBuilder放入

cb.setText(spannableStringBuilder);


最终效果:



下面是源码下载地址:

http://download.csdn.net/download/woqq863787405/9579472

本人只是安卓领域的一只萌新,如果大家有更好的方法/建议的话欢迎在评论区交流.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: