`

自定义CheckBox和RadioButton

阅读更多

1 drawable-mdpi文件夹下创建文件checkbox_selector.xml

 

<?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/login_checked" /><!--选中时效果-->

<item android:state_checked="false"

android:drawable="@drawable/login_unchecked" /><!--未选中时效果-->

</selector>

 

2 values文件夹下创建styles.xml

 

<?xml version="1.0" encoding="utf-8"?>

<resources>

 

<style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">

 

<!-- 将原来系统的CheckBox图标隐藏起来。 -->

<item name="android:button">@null</item>

 

<!-- 设置CheckBox的左间距 -->

<item name="android:paddingLeft">10dip</item>

 

<!-- 设置CheckBox的最大高度 -->

<item name="android:maxHeight">50.0dip</item>

 

<!-- 设置文字和图标的间距 -->

<item name="android:drawablePadding">50dp</item>

 

<!-- 在CheckBox的右侧添加自定义的图标 -->

<item name="android:drawableRight">@drawable/checkbox_selector</item>

 

</style>

 

</resources>

 

3 xml文件的CheckBox中添加属性

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

 

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="自定义CheckBox和RadioButton"

android:gravity="center_horizontal"

android:paddingBottom="50dp"/>

 

<CheckBox

android:id="@+id/check_box"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

style="@style/MyCheckBox" <!-- 引用自定义样式 -->

android:text="good boy"

android:textSize="20sp"

android:textScaleX="1.0" <!-- 设置文字间距 -->

/>

 

<RadioGroup

android:id="@+id/radioGroup1"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

 

<RadioButton

android:id="@+id/button1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:button="@null"

android:checked="true"

android:drawableRight="@android:drawable/btn_radio"

android:paddingLeft="10dp"

android:text="RadioButton" />

 

<RadioButton

android:id="@+id/button2"

android:layout_width="400dp"

android:layout_height="wrap_content"

android:button="@null"

android:drawableRight="@android:drawable/btn_radio"

android:paddingLeft="10dp"

android:text="RadioButton" />

 

</RadioGroup>

 

</LinearLayout>

 

最后效果如下图:


 

注意:CheckBox图标的大小只由被援引图片的本身大小决定,无法在java程序的xml中进行设定。所以为适应多种尺寸和密度的屏幕,应创建drawable-normal-mdpidrawable-normal-hdpidrawable-large-xhdpi和相应values-normal-mdpivalues-normal-hdpivalues-large-xhdpi等多个资源文件夹并放入相应的资源文件和图片,如下图所示:

 


  • 大小: 24.8 KB
  • 大小: 30.8 KB
分享到:
评论

相关推荐

    RadioButton和CheckBox自定义样式

    在本文中,我们将深入探讨如何自定义RadioButton和CheckBox的样式,特别是通过重写onDraw()方法来实现颜色选择器效果。首先,我们需要了解这两个控件的基本结构和工作原理。 RadioButton和CheckBox都是继承自...

    C# WinForm 自定义 RadioButton

    最后,将这个自定义的RadioButton控件添加到你的WinForm项目中,就可以像使用标准RadioButton一样使用它,但同时具备了自定义的特性和功能。 总结一下,自定义C# WinForm中的RadioButton控件主要涉及外观、行为、...

    带checkbox和radiobutton的listview(实现翻页保存和单选)

    标题提到的"带checkbox和radiobutton的listview(实现翻页保存和单选)"是一个典型的需求,它涉及到ListView的自定义适配器、数据绑定以及状态保存。 1. **自定义Adapter**: - 在Android中,ListView的每一行数据...

    自定义checkbox颜色demo

    这是一个关于自定义checkbox、RadioButton, Switch, SwitchPreference , CheckPreference 等控件颜色的 demo。 让控件显示我们想要的颜色,同时又不影响使用Android5.0提供的动画,何乐而不为。

    用WPF自定义CheckBox的样式(框框和钩钩)

    本篇主要聚焦于如何自定义CheckBox控件的样式,特别是改变其框框(边框)和钩钩(选中标记)的样式。 CheckBox是WPF中一个基础的复选框控件,通常用于用户可以选择或取消选择一个选项。默认情况下,CheckBox有一个...

    20090924 透明的CHECKBOX 和RADIOBUTTON.rar

    这个资源"20090924 透明的CHECKBOX 和RADIOBUTTON.rar"似乎包含了一些关于如何在Delphi中创建透明的复选框(Checkbox)和单选按钮(RadioButton)的示例代码或教程。 复选框和单选按钮是用户界面(UI)设计中常见的...

    自定义RadioButton&CheckBox样式的实现

    本篇将详细介绍如何实现自定义RadioButton和CheckBox样式的实践过程。 首先,我们需要了解Android中的样式系统。在Android中,我们可以使用XML资源文件来定义样式,包括颜色、尺寸、字体等属性。对于RadioButton和...

    ExpandableListView+CheckBox+RadioButton

    4. **样式和布局**:根据需求自定义`CheckBox`和`RadioButton`的样式,以及它们在`ExpandableListView`中的布局。 通过以上介绍,我们可以看到,`ExpandableListView`与`CheckBox`、`RadioButton`的结合使用,可以...

    ListView 里面 EditText CheckBox RadioButton

    在ListView中嵌入复杂的视图,如EditText、CheckBox和RadioButton,可以实现丰富的交互效果。然而,这样做也常常会导致事件处理上的冲突,需要我们采取一些策略来妥善解决。 首先,我们要理解ListView的工作原理。...

    android spinner 样式完全自定义[包括RadioButton和RatingBar效果自定义]

    最近抽了点时间,针对android一些控件的样式做了完整自定义,主要包括Spinner的样式完全自定义、RadioButton[CheckBox样式雷同]样式完全自定义、Rating样式自定义,代码已经经过测试,有需要的可以下载

    自定义RadioButton

    自定义RadioButton允许开发者根据项目需求调整其外观、交互和功能,以提供更个性化的用户体验。以下是对这个自定义RadioButton相关的知识点进行的详细解释: 1. **RadioButton基本使用**:RadioButton属于Android的...

    自定义ListView加CheckBox

    然而,为了提供更丰富的交互体验,我们常常需要在ListView的每一项中添加CheckBox,从而实现单选、多选、全选和反选功能。本教程将深入讲解如何在ListView中集成CheckBox并解决重绘问题。 1. **自定义ListView的...

    仿美团支付自定义radiobutton

    而我们要做的,就是通过自定义RadioButton,让其外观和交互更加符合美团支付页面的风格。 实现自定义RadioButton的第一步,是创建一个新的XML布局文件,作为RadioButton的视图模板。在这个文件中,我们可以定义按钮...

    RadioButton、CheckBox和Toast的使用

    在实际应用中,我们可以结合RadioButton和CheckBox创建自定义的设置项,让用户进行个性化选择。例如,在一个音乐播放器应用中,用户可以选择是否开启循环播放,这时可以使用CheckBox;而在选择播放模式(顺序、随机...

    android组件 RadioButton,CheckBox,Toast具体实例

    在Android开发中,RadioButton、CheckBox和Toast是三个非常基础且重要的组件,它们各自在不同的场景下发挥着关键作用。下面将分别对这三个组件进行详细解释,并通过实例展示它们的使用方法。 **RadioButton** 是...

    checkbox,RaidoButton,改变默认的图标

    总的来说,改变`Checkbox`和`RadioButton`的默认图标涉及到对UI组件的自定义,这不仅能够满足设计需求,还能提升应用的整体用户体验。通过理解不同编程环境下的实现方式,开发者可以灵活地调整这些控件的视觉表现,...

    Android支持单选和多选的投票项目.zip

    开发者可以借此深入理解ListView的自定义、事件处理以及状态保存等概念,同时掌握Checkbox和RadioButton在实际应用中的使用技巧。通过分析和实践这个项目,可以提升在Android应用开发中的列表交互能力。

Global site tag (gtag.js) - Google Analytics