CompoundButton 选中/未选中状态的按钮「建议收藏」

CompoundButton 选中/未选中状态的按钮「建议收藏」正文  一、结构    publicabstractclassCompoundButtonextendsButtonimplementsCheckable     java.lang.Object      android.view.View        android.widget.TextView          android.widge

大家好,又见面了,我是你们的朋友全栈君。

正文

  一、结构

    public abstract class CompoundButton extends Button implements Checkable

 

    java.lang.Object

      
android.view.View

        
android.widget.TextView

          
android.widget.Button

            android.widget.CompoundButton

 

  二、概述

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

 

  三、公共方法

         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
。并且此处不允许使用动画。 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138690.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ftp文件下载工具,三个非常好使的ftp文件下载工具

    ftp文件下载工具,三个非常好使的ftp文件下载工具ftp文件下载工具是什么工具,可能有人会回答说不知道,因为一般只有从事网站管理的工作者会使用的多一点。但不是每个人生来就会的,所以刚开始肯定都会学习怎么使用。这篇文章就来告诉大家有哪些ftp文件下载工具吧。第一款:IIS7服务器管理工具说实话,这个工具算是比较好的管理工具了。里面的功能除了批量管理,还有很多别的功能,主要也是功能也比较全面,相信大多数使用的网站工作人员都比较熟悉了。它里面还能够定时上传下载、定时备份和主动更新。把你花在更新上的经历都省了。IIS7服务器管理工具除了在ftp上面有这么多的

  • 什么是泛型编程

    什么是泛型编程1.C++两种抽象方法(1)面向对象编程封装(Encapsulation)继承(Inheritance)多态(Polymorphism)(2)泛型编程概念(concepts)模型化(modeling)强化(refinement)2.泛型编程概念泛型编程(GenericProgramming)指在多种数据类型上皆可操作。和面向对象编程不同,它并不要求额外的间接…

  • NetCMS使用BUG记录及解决方法

    NetCMS使用BUG记录及解决方法NetCMS1.7版本使用存在两个BUG1.在上传文件时如果勾选“如果文件存在则重命名(格式:月日时5位随机数-原文件),否则将覆盖原文件.”上传的文件路径将错误。  BUG所在,NetCMS.Content.Common.UpLoad类的120行,postedFile.SaveAs(SavePath+@""+_tmps); 恩,找到了,错误就在这里。  找到了错误所在,那解决…

  • JAVA常见数据结构

    JAVA常见数据结构常见的的数据结构数据存储的常⽤结构有:栈、队列、数组、链表和红⿊树。栈栈:stack,⼜称堆栈,它是运算受限的线性表,其限制是仅允许在标的⼀端进⾏插⼊和删除操作,不允许在其他任何位置进⾏添加、查找、删除等操作。简单的说:采⽤该结构的集合,对元素的存取有如下的特点1.先进后出(即,存进去的元素,要在后它后⾯的元素依次取出后,才能取出该元素)。例如,⼦弹压进弹夹,先压进去的⼦弹在下⾯,后压进去的⼦弹在上⾯,当开枪时,先弹出上⾯的⼦弹,然后才能弹出下⾯的⼦弹。2.栈的⼊⼝、出⼝的都是栈的顶端位置。

  • Ubuntu中Anaconda安装opencv3[通俗易懂]

    Ubuntu中Anaconda安装opencv3[通俗易懂]关于如何安装,这篇blog中已经给出了很好的方法:https://blog.csdn.net/isuccess88/article/details/73546835,但由于自前段时间开始换源已经不能解决anaconda的下载速度,因此即使使用此方法也很难进行下去,下载速度太慢了。我特地下载了opencv3的opencv3-3.2.0-py35(链接:https://pan.baidu.com…

    2022年10月19日
  • 公众号发送模板消息

    公众号发送模板消息场景:当用户在公众号中发起了一笔支付,后台给用户发送一个消息。微信配置:用的个人公众号测试,访问地址https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login&token=1212530455&lang=zh_CN(1)配置域名:(2)配置模板消息(3)修改网…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号