Android 控件六 CheckBox 控件
前言
本文简记 Android 控件 CheckBox 的常用属性及使用方法。
与 RadioButton 控件不同
一个 RadioGroup 控件包含多个 RadioButton 控件组成一个单选列表是必要的。
而单个 CheckBox 控件可以实现选择与取消选择,每个 CheckBox 控件相对独立。对于 CheckBox 控件,并不存在一个类似于 RadioGroup 对 RadioButton 作用的控件。
常用属性
CheckBox 控件的常用属性与 RadioButton 控件相差不大。
基础属性
-
请参阅:Android 布局与相关属性 的基础属性部分。
包括:id 属性,宽度、高度属性,背景属性,内、外边距属性等。
文本相关
- 文本内容属性:
android:text=""
- 文本颜色属性:
android:textColor=""
- 文本字体大小属性:
android:textSize=""
,一般单位sp
。
权重属性
- 请参阅: Android 布局与相关属性 的权重属性部分。
按钮样式属性
-
按钮样式属性:
android:button=""
值:
-
@null
:不显示选中按钮 -
@drawable/xxxxxx
:使用 xxxxxx.xml 文件或 xxxxxx.PNG 等格式图片可以作为选中框的变化。这里的图片一般是
20~50dp * 20~50dp
的 PNG 等格式的图片。
-
-
android:button="@drawable/xxxxxx"
格式,可以通过 selector 格式 xml 文件,使用:android:state_checked=""
:设置选中时要触发的<item>
。android:drawable=""
:配合android:state_checked=""
显示对应图标。
selector 格式 xml 文件示例:
复制
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/checked" android:state_checked="true" /> <item android:drawable="@drawable/unchecked" android:state_checked="false" /> </selector>
预先选中属性
-
预先选中属性:
android:checked=""
。值:
false
:默认,不预先选中;true
:可设置,预先选中。
Java 监听选中变化
可以使用 RadioGroup 控件的监听选中变化方法进行监听操作。
-
使用
复制
RadioGroup RG_1 = findViewById(R.id.RG_1); RG_1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { RadioButton radioButton = radioGroup.findViewById(i); Toast.makeText(RadioButtonShowActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show(); } });
在 Activity 活动的
protected void onCreate(Bundle savedInstanceState) {}
中进行监听。
实例
- 请参阅: Android 基础控件演示实例 的 “演示代码下载” 部分。
作者:Yogile
出处:https://www.cnblogs.com/Yogile/p/13160304.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构