Android爲CheckBox(複選框)設置可規定大小的圖片

當我們需要在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

本人只是安卓領域的一隻萌新,如果大家有更好的方法/建議的話歡迎在評論區交流.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章