热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidRadioGroup&CheckBox基操与进阶

Android–RadioGroup&CheckBox基操与进阶先上效果图(全部demo):一.认识RadioButton和RadiaoGroup:RadioButton:一个自

Android – RadioGroup & CheckBox 基操与进阶

先上效果图(全部demo):
在这里插入图片描述


一. 认识RadioButton 和 RadiaoGroup:



  1. RadioButton:一个自带图标样式的Button, 具有两种状态,选中或未选中;(单个RadioButton在选中后,无法通过点击变为未选中)



  2. RadioGroup:当需要多个RadioButton, 但每次仅需选中其中一个时,使用其管理内部的RadioButton。

    基本使用:使用默认图标,自定义选中和未选中状态下字体颜色

    <LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:padding="@dimen/padding_15"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="default"android:textSize="@dimen/text_size_20"android:padding="@dimen/padding_5"/><RadioGroupandroid:id="@+id/rGroup1"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><RadioButtonandroid:id="@+id/rButton1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Male"android:textColor="@drawable/selector_text"android:checked="true" /><RadioButtonandroid:id="@+id/rButton2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Female"android:textColor="@drawable/selector_text"/>RadioGroup>
    LinearLayout>

    selector_txt.xml


    <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true" android:color="@color/colorPrimary"/><item android:state_checked="false" android:color="@color/colorBlack"/>
    selector>


在这里插入图片描述


二. 了解CheckBox:



  1. CheckBox: 具有两种状态,选中或未选中;具有独立性,多个可同时选中,适用于多种效果叠加;与RadioButton属于同一级别。

  2. 与RadioButton的区别:

    1. 单个CheckBox在选中后,可以通过再次点击变为未选中状态;

    2. 一组CheckBox,可同时选中多个;



基本使用:使用默认图标,自定义选中和未选中状态下字体颜色

<LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><CheckBoxandroid:id="@+id/checkbox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="貂蝉"android:textColor="@drawable/selector_text"/><CheckBoxandroid:id="@+id/checkbox2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="孙尚香"android:textColor="@drawable/selector_text"/><CheckBoxandroid:id="@+id/checkbox3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="公孙离"android:textColor="@drawable/selector_text"/>LinearLayout>

在这里插入图片描述


三. 进阶:自定义选中样式



  1. 样式一:隐藏图标,随当前状态改变文字背后的背景
    在这里插入图片描述

    <LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:padding="@dimen/padding_15"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="self icon"android:textSize="@dimen/text_size_20"android:padding="@dimen/padding_5"/><RadioGroupandroid:id="@+id/rGroup2"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/rButton3"android:layout_width="50dp"android:layout_height="wrap_content"android:layout_margin="@dimen/margin_10"android:background="@drawable/selector_check_bg"android:button="@null"android:checked="true"android:gravity="center"android:text="Male" /><RadioButtonandroid:id="@+id/rButton4"android:layout_width="50dp"android:layout_height="wrap_content"android:layout_margin="@dimen/margin_10"android:gravity="center"android:text="Female"android:button="@null"android:background="@drawable/selector_check_bg" />RadioGroup>
    LinearLayout>

    selector_check_bg.xml


    <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true"><shape android:shape="rectangle"><stroke android:color="@color/colorPrimary"android:width="1dp"/><solid android:color="@color/colorPrimary"/><corners android:radius="5dp"/>shape>item><item android:state_checked="false"><shape android:shape="rectangle"><stroke android:color="@color/colorGery"android:width="1dp"/><solid android:color="@color/colorGery"/><corners android:radius="5dp"/>shape>item>
    selector>


  2. 样式二:使用自己的状态图标
    在这里插入图片描述

    <LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:padding="@dimen/padding_15"><RadioGroupandroid:id="@+id/rGroup3"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/rButton5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="@dimen/margin_10"android:text="Male"android:textColor="@drawable/selector_text"android:gravity="center"android:button="@drawable/radio_button_style"android:checked="true"/><RadioButtonandroid:id="@+id/rButton6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="@dimen/margin_10"android:gravity="center"android:text="Female"android:textColor="@drawable/selector_text"android:button="@drawable/radio_button_style"/>RadioGroup>
    LinearLayout>

    radio_button_style.xml


    <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true" android:state_enabled="true" android:state_pressed="true"android:drawable="@drawable/icon_locate_blue"/><item android:state_checked="false" android:state_enabled="true" android:state_pressed="true"android:drawable="@drawable/icon_locate_blue"/><item android:state_checked="true" android:state_enabled="true" android:drawable="@drawable/icon_locate_blue"/><item android:state_checked="false" android:state_enabled="true" android:drawable="@drawable/icon_locate_gery"/><item android:state_checked="true" android:state_enabled="false" android:drawable="@drawable/icon_locate_blue"/><item android:state_checked="false" android:state_enabled="false" android:drawable="@drawable/icon_locate_gery"/>
    selector>

    CheckBox(与RadioButton可用同一配置文件):
    在这里插入图片描述

    <LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:padding="@dimen/padding_15"><CheckBoxandroid:id="@+id/checkbox4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="@dimen/padding_5"android:text="阿离"android:textColor="@drawable/selector_text"android:button="@drawable/radio_button_style"/><CheckBoxandroid:id="@+id/checkbox5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="@dimen/padding_5"android:text="苏苏"android:textColor="@drawable/selector_text"android:button="@drawable/radio_button_style"/>
    LinearLayout>``



推荐阅读
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 本文探讨了利用Java实现WebSocket实时消息推送技术的方法。与传统的轮询、长连接或短连接等方案相比,WebSocket提供了一种更为高效和低延迟的双向通信机制。通过建立持久连接,服务器能够主动向客户端推送数据,从而实现真正的实时消息传递。此外,本文还介绍了WebSocket在实际应用中的优势和应用场景,并提供了详细的实现步骤和技术细节。 ... [详细]
author-avatar
yico承诺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有