利用自身的定义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>

尽管通过设置paddingLeft在有的系统上能够显示想要的,可是有些则不行

<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 照片和文字的间距问题的更多相关文章

  1. checkbox与文字的间距

    1. checkbox在更换了图片后, 与文字的距离有问题, 建议修改background为@null, 去除占据的位置. 2.   checkbox的paddingleft可以控制图片和文字的间距.

  2. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  3. Android checkbox和radiobutton 以及Toast和AlertDialog的使用

    package com.example.radiobutton_01; import android.app.Activity; import android.os.Bundle; import an ...

  4. Android 单选按钮(RadioButton)和复选框(CheckBox)的使用

    1.RadioButton (1)介绍 (2)单选按钮点击事件的用法 (3)RadioButton与RadioGroup配合使用实现单选题功能 (4)xml布局及使用 <?xml version ...

  5. android.widget.RadioButton 单选按钮(转)

    大家好,我们今天这一节要介绍的是RadioGroup 的组事件.RadioGroup 可将各自不同的RadioButton ,设限于同一个Radio 按钮组,同一个RadioGroup 组里的按钮,只 ...

  6. Android 自定义RadioButton实现

    由于使用小米系统MIUI运行是RadioButton样式跟google Android API自定义的不一样,则我们可以定义任何想要的东东.没有做不到,只有想不到 Android 自定义RadioBu ...

  7. Android的TextView在显示文字的时候,如果有段中文有英文,有中文,有中文标点符号,你会发现,当要换行的时候遇到中文标点, 这一行就会空出很多空格出来

    一.问题描述: Android的TextView在显示文字的时候,如果有段中文有英文,有中文,有中文标点符号,你会发现,当要换行的时候遇到中文标点, 这一行就会空出很多空格出来.原因是: 1) Tex ...

  8. Android自定义View 画弧形,文字,并增加动画效果

    一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类   B ...

  9. Android 使用Font Awesome 显示文字图标

    Android 使用Font Awesome 显示文字图标 简单几步就可以完成 简单的效果图: 1. 创建 assets 文件夹 在Android Studio 上的创建步骤为: 在 src/main ...

随机推荐

  1. Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...

  2. Qt学习一门:直接使用QT具

    今天,通过直接使用QT一些工具来编写命令行程序.你可以看到一种Qt更一般的用法. 内容很easy,输出电流日期. 首先,用一个QDate分类,可以使用QDate类的静态方法currentDate为了得 ...

  3. NET的可运行于树莓派

    Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器   最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制 ...

  4. MySQL在大数据Limit使用

    它已被用于Oracle一世.但今天,很惊讶,MySQL在对数量级的性能,甚至差距如此之大不同的顺序相同的功能. 看看表ibmng(id,title,info)  只要  id key 指数title ...

  5. 王立平--android发育,转让eclipse可选颜色

    android:background="@android:color/white" 版权声明:本文博主原创文章.博客,未经同意不得转载.

  6. Dom4j分解xml

    package cn.com.guju.util; import java.io.ByteArrayInputStream; import java.io.UnsupportedEncodingExc ...

  7. Echache整合Spring缓存实例讲解(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了EhCache,并通过整合Spring给出了一个使用实例. 一.EhCac ...

  8. Gradle入门系列(转)

    Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言.近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因. 这篇文章是 ...

  9. CAS实现SSO单点登录原理(转)

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  10. 用bat 删除当前文件夹下的某类文件

    @echo on for /r %%f in (*.pdb,*.xml) do del %%f 保存为bat文件执行!