首页 > 代码库 > android CheckBox RadioButton 图片与文字间距问题
android CheckBox RadioButton 图片与文字间距问题
在使用自定义的CheckBox 或RadioButton时,自定义的图标和文字在不同的手机上显示的间距不同,有时不太好控制,下面是我自定义的CheckBox:
在Layout下的xml:
<CheckBox android:id="@+id/recharge_activity_cb" style="@style/CustomCheckboxTheme" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我已经阅读并同意" android:textColor="@color/huoqiuLightblackColor" android:checked="true" />
里面自定义的style,style内容为:
<!-- 自定义CheckBox --> <style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox"> <item name="android:button">@drawable/checkbox_style</item> <item name="android:paddingLeft">@dimen/dp8</item> </style>
其中调用了选中和未选中图片,在drawable下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_checked="true" android:drawable="@drawable/agree"/> <item android:state_checked="false" android:drawable="@drawable/disagree"/> <item android:drawable="@drawable/disagree"/> </selector>
<item name="android:paddingLeft">@dimen/dp8</item>
那么问题来了,到底用什么方法可以解决呐?
下面是我的解决方案:使用CheckedTextView控件
<CheckedTextView android:id="@+id/recharge_activity_ctv" android:checkMark="@drawable/checkbox_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" />
<TextView android:id="@+id/buy_write_jine_agree_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我已经阅读并同意" android:textColor="@color/huoqiuLightblackColor" android:layout_marginLeft="@dimen/dp3" />
其中checkMark就是上面drawable下的那个选中状态xml
android:checkMark="@drawable/checkbox_style"
然后在代码中对CheckedTextView使用isChecked()判断是否选中,使用toggle()方法设置选中和未选中效果,这样就不存在图标和文本的空隙问题了,问题完美解决!
android CheckBox RadioButton 图片与文字间距问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。