前言

  本章内容是android.widget.CompoundButton,翻译来自德罗德,再次感谢德罗德 !期待你一起参与Android API 的中文翻译,联系我over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.com/

    Android中文翻译组:http://www.cnblogs.com/over140/

正文

  一、结构

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

结束

  Android2.3即将发布,翻译组也将迅速跟进,已经翻译或正在翻译的将保持原有版本,新开始翻译的将直接从新版本开始。

Android 中文 API (29) —— CompoundButton的更多相关文章

  1. Android 中文 API (40) —— RatingBar

    Android 中文 API (40) —— RatingBar 前言 本章内容是 android.widget.RatingBar,译为"评分条",版本为Android 2.2 ...

  2. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是  android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android  2.3 ...

  3. Android 中文API (69) —— BluetoothAdapter[蓝牙]

    前言 本章内容是  android.bluetooth.BluetoothAdapter,为Android蓝牙部分的章节翻译.本地蓝牙设备的适配类,所有的蓝牙操作都要通过该类完成.版本为 Androi ...

  4. Android 中文API (68) —— BluetoothClass.Service

    前言 本章内容是 android.bluetooth.BluetoothClass.Service,为Android蓝牙部分的章节翻译,版本为 Android 2.3   r1,翻译来自中山大学的&q ...

  5. Android 中文API (67) —— BluetoothClass.Device.Major

    前言 本章内容是android.bluetooth.BluetoothClass.Device.Major,为Android蓝牙部分的章节翻译,版本为Android 2.3   r1,翻译来自中山大学 ...

  6. Android 中文API (66) —— BluetoothClass.Device

    前言 本章内容是android.bluetooth.BluetoothClass.Device,为Android蓝牙部分的章节翻译,版本为Android 2.3   r1,翻译来自中山大学的" ...

  7. Android 中文API (65) —— BluetoothClass[蓝牙]

    前言 本章内容是android.bluetooth.BluetoothClass,为Android蓝牙部分的章节翻译.用于描述远端设备的类型,特点等信息,通过getBluetoothClass()方法 ...

  8. android中文api(79)——Gallery

    前言 本章内容是 android.widget.Gallery,版本为Android 2.3 r1,翻译来自"henly.zhang",欢迎大家访问他的博客:http://www. ...

  9. Android中文API

    Android中文API http://www.android-doc.com/index.html

随机推荐

  1. nyoj 36 最长公共子序列【LCS模板】

    最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ...

  2. VirtualBox的usb支持

    解决usb支持: 0. 下载Oracle_VM_VirtualBox_Extension_Pack-4.0.4-70112.vbox-extpack后双击即可采用VB安装,若还是用ark打开可人为设置 ...

  3. VM网络无法连接--提示ethernet0无法连接到虚拟网络

    打开 “编辑->虚拟网络设置"里面,点“恢复默认” 如果还不行 然后 开网络和共享中心 左击  本地连接(若是无线网络,则点击无线网络连接)----属性----共享---- 在:允许其 ...

  4. 自己在安装centos 系统时, 是使用英文安装 成功,现在系统语言为英语,如何设置为中文?

    作为一个linux菜鸟,遇到的问题可谓真多,在虚拟机VMware上安装好centos系统后,心里甚喜,也连上网络了. 一.遇到的问题 but,火狐浏览器浏览网页出现乱码,也不知道怎么解决?所有的中文都 ...

  5. Mean Shift具体介绍

    Mean Shift,我们 翻译为“均值飘移”.其在聚类,图像平滑.图像切割和跟踪方面得到了比較广泛的应用.因为本人眼下研究跟踪方面的东西,故此主要介绍利用Mean Shift方法进行目标跟踪,从而对 ...

  6. 使用JExcel导出excel文件

    package org.aaa.portal.tools; import java.io.File; import java.io.IOException; import java.util.List ...

  7. 安装Visual Studio 2013 中文社区版

    Visual Studio 2013 免费了,我收到邮件后,立即从邮件的下载连接安装了 Visual Studio Community 2013 with Update 4 . 安装后几天没打开,今天 ...

  8. SQL查询显示行号、随机查询、取指定行数据

    转自:walkingp 1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用 ...

  9. C#,MVC视图中把枚举转成DropdownList

    1.拓展EnumHelper public static class EnumHelper { // Get the value of the description attribute if the ...

  10. 16、SQL Server 复制及常见错误处理

    SQL Server 复制 复制是一组技术的组合,可以用此组合对数据和数据库对象进行复制由一个数据库移动到另一个数据库. 复制的英文是Replication,重复的意思,而不是Copy.复制的核心功能 ...