为什么80%的码农都做不了架构师?>>>   

android.widget.Button
     android.widget.CompoundButton

RadioGroup不是CompoundButton的子类,所以不能直接使用CompoundButton的回调函数,而只能

用RadioGroup.OnCheckedChangeListener()

而 CheckBox是CompoundButton的子类,可以直接使用CompoundButton的回调函数,可以直接

使用CompoundButton的CompoundButton.OnCheckedChangeListener()

一个带有选中/未选中状态的按钮。当按钮按下或点中时自动改变状态。

三、公共方法

public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)

在子视图的构建时分派一个辅助事件。(译者注:通过源码可以看出,视图构建时设置其选中状态。)

参数

event 事件

返回值

如果事件全部完成返回True。

public boolean isChecked ()

(译者注:是否选中)

public void onRestoreInstanceState (Parcelable state)

允许视图重新应用以前通过onSaveInstanceState()生成代表内部的状态。这个函数决不调用一个空的状态。

参数

state 返回以前调用onSaveInstanceState()保存下来的状态。

public Parcelable onSaveInstanceState ()

允许视图生成一个代表内部的状态,以后可用于创建一个与之相同的新的实例。这种状态应该只包含非持久或以后不能够重建的信息。例如,你决不存储你当前在屏幕上的位置,因为这会在视图的层面上重新计算放置一个新的实例。

你可以存储到这里的一些例子:一个文本框中当前光标的位置(但通常不是文字本身,文字通常保存在内容提供者(content provider)或其他持久的储存中),一个列表视图中的当前选中项。

返回值

返回一个包含视图当前状态的Parcelable对象,或没有什么状态保存时返回null。默认实现返回null。

public boolean performClick ()

如果视图定义了OnClickListener监听器,调用此方法来执行。

返回值

定义了的OnClickListener被调用返回True,否则返回False

public void setButtonDrawable (Drawable d)

给按钮背景设置一个可绘制对象(如:图像)

参数

d 用作背景的可绘制对象(如:图像)

public void setButtonDrawable (int resid)

通过资源Id给按钮背景设置一个图像

参数

resid 作为背景图像的资源id

public void setChecked (boolean checked)

改变按钮的选中状态

参数

checked true选中,false非选中

public void setOnCheckedChangeListener (CompoundButton.OnCheckedChangeListener listener)

注册一个在按钮状态发生改变时执行的回调函数

参数

listener 当选中状态改变时调用的函数

public void toggle ()

改变选中状态为当前状态的逆状态

  四、受保护方法

protected void drawableStateChanged ()

在视图状态的变化影响到所显示可绘制的状态时调用这个方法。

确保在重载时中调用父类方法

protected int[] onCreateDrawableState (int extraSpace)

为当前视图生成新的可绘图区状态。这个方式当缓存的图像绘图区状态确定失效时通过视图系统调用。你可以使用getDrawableState()方法重新取得当前的状态。

参数

extraSpace 如果为非零,这是你应该返回的数组在你可以存放你的状态的额外条目的数量。

返回值

返回一个记录着视图中当前绘图区状态的数组

protected void onDraw (Canvas canvas)

实现你自己的绘制。

参数

canvas 在画布上绘制背景

protected boolean verifyDrawable (Drawable who)

如果你的视图子类显示他自己的可视化对象,他将要重写此方法并且为了显示可绘制返回true。此操作允许进行绘制时有动画效果。

  确认当重写从方法时,需调用父类相应方法。

参数

who 需判断的可绘制对象(Drawable)。如果是你要显示的对象,返回True,否则返回调用父类的结果。

返回值

boolean 如果可绘制对象( Drawable )已经在视图中显示,返回 True 否则返回 false 。并且此处不允许使用动画。

转载于:https://my.oschina.net/amigos/blog/63010

Android CompoundButton相关推荐

  1. 解决方法 android.view.AbsSavedState$1 cannot be cast to android.widget.CompoundButton$SavedState

    第一次写博客 就是为了纪念这个困扰我一晚上的纠结问题    其实网上不少类似的问题  但都能看出个大概 什么LinearLayout转换 什么List转换出错  唯有这个很摸不着头脑 这里写出我的问题 ...

  2. Android开发 CompoundButton CheckBox Switch RadioButton

    1.CompoundButton 抽象了各种复合按钮的一个抽象类,继承自Button类. 2.CheckBox 复选框 有默认的复选框,设置宽高文字内容就可以直接用. 也可以在drawable下新建一 ...

  3. Android RadioButton 修改选择框

    效果图 是否被选中打印效果图 RadioButon  是单选框 ,选中之后再次点击无法取消,这样呢我们可以配合RadioGroup 使用,选择其他的RadioButton 这样的话刚才的的那个就取消了 ...

  4. Android CheckBox 修改选择框

    效果图 是否被选中打印效果图图 CheckBox  是多选框 ,选中之后可以再次点击取消操作. 在使用的时候注意padding 是相对于字体来的不是相对选择框 下面第一个位置调整了 使用了paddin ...

  5. Android switchCompat. 和 Switch

    今天礼拜日,回顾知识点 看到了switchCompat 这里记录下它的简单使用 switchCompat  使用需要导入v7包,一般这个创建项目的时候默认的都用,也就不用关心了 使用呢也很简单 布局 ...

  6. Android UI 统一修改Button控件的样式,以及其它系统控件的默认样式

    先介绍下修改原理:首先打开位于android.widget包下面的Button.java文件,这里有一句关键的代码如下: public Button(Context context, Attribut ...

  7. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

  8. android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕

    本文向你展示了在你的android應用程序中創建一個簡單的Button或ImageButton控件的步驟.首先,你會學到如何向你的布局文件中添加按鈕控件.然後你會學習如何用兩種方法處理用戶對按鈕的點擊 ...

  9. android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...

  10. Android UI系列-----CheckBox和RadioButton(1)

    主要记录一下CheckBox多选框和RadioGroup.RadioButton单选框的设置以及注册监听器 1.CheckBox 布局文件: <LinearLayout xmlns:androi ...

最新文章

  1. SAP BMBC报表不能显示批次分类视图里的特性值
  2. JDK线程池的ThreadFactory
  3. 3.3线性回归简洁实现(API的使用)
  4. Kafka生产者发送消息的三种方式
  5. class与case class的区别(转载)
  6. [蓝桥杯2018初赛]方格计数-巧妙枚举,找规,数论
  7. python集合类型是一种具体的数据类型_Python3基础语法之集合类型
  8. 2-5:C++快速入门之引用,引用和指针的区别
  9. docker管理监控方案
  10. 文言的理解 —— 古时的称谓、别称、别名
  11. 【JAVA笔记】线程(1):多线程的介绍和实现
  12. matplotlib-legend 位置属性 loc 使用
  13. 【POJ 3623】 Best Cow Line, Gold (后缀数组)
  14. Java WebService视频教程
  15. SteamVR简介(Yanlz+Steam+VR+Unity+AR+MR+XR+=)
  16. Java 计量单位换算 工具类
  17. 量化交易 均线、金叉死叉计算与交易策略
  18. 百度地图API循环创建标注给每个标注添加点击事件
  19. c# DGV导出excel 使用object类型数组,解决string类型需双击后或分列才可运算的异常
  20. 换元积分法和分部积分法

热门文章

  1. 教你win10原版镜像怎么安装
  2. 最新win10镜像下载
  3. PostgreSQL 生成任意基数数独 - 4
  4. 汽车故障检测仪计算机教程,如何使用汽车故障诊断仪进行汽车维修
  5. 小D课堂-nexus
  6. 循迹小车三个感应c语言程序,循迹小车的C语言程序(带注释)
  7. 1《游戏脚本高级编程》之命令脚本的随想
  8. BCNet实现PLC数据采集解决方案,BCNet
  9. 深度学习综述(下载PDF版)
  10. JS:读取excel并显示