CompoundButton 选中/未选中状态的按钮
正文
一、結構
public abstract class CompoundButton extends Button implements Checkable
?
java.lang.Objectandroid.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 。并且此處不允許使用動畫。??
總結
以上是生活随笔為你收集整理的CompoundButton 选中/未选中状态的按钮的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac版本idea反编译jar包
- 下一篇: 安装sqlserver 2017安装 需