?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
DialerFilter
版本:Android 3.1 r1
?
結構
繼承關系
public class DialerFilter extends RelativeLayout
????????
java.lang.Object
???????? android.view.View
?????????????????? android.view.ViewGroup
??????????????????????????? android.widget.RelativeLayout
???????? ??????????????????????????? android.widget.DialerFilter
??????????????????
類概述
???????? (譯者注:撥號器過濾,暫時不清楚使用方法和場景。)
?????????????
常量
public static final int DIGITS_AND_LETTERS
該模式包含兩行。
常量值: 1 (0x00000001)
?
public static final int DIGITS_AND_LETTERS_NO_DIGITS
DIGITS_AND_LETTERS 模式開始后,過濾器移除了所有匹配的數(shù)字, 只剩字母行時的模式。
常量值: 2 (0x00000002)
?
public static final int DIGITS_AND_LETTERS_NO_LETTERS
DIGITS_AND_LETTERS 模式開始后,過濾器移除了所有匹配的字母, 只剩數(shù)字行時的模式。
常量值: 3 (0x00000003)
?
public static final int DIGITS_ONLY
該模式只有數(shù)字行。
常量值: 4 (0x00000004)
?
public static final int LETTERS_ONLY
該模式只有字母行。
常量值: 5 (0x00000005)
?????????????
公共方法
public void append (String text)
?
public void clearText ()
清除數(shù)值和過濾器文本。
?
public CharSequence getDigits ()
?
?
public CharSequence getFilterText ()
?
?
public CharSequence getLetters ()
?
?
public int getMode ()
?
?
public boolean isQwertyKeyboard ()
?
?
public boolean onKeyDown (int keyCode, KeyEvent event)
KeyEvent.Callback.onKeyMultiple() 的默認實現(xiàn). 如果視圖可用并可按, 當按下 KEYCODE_DPAD_CENTER 或 KEYCODE_ENTER 時執(zhí)行視圖的按下事件.
參數(shù)
keyCode ????????? 表示按下的鍵的、在 KEYCODE_ENTER 中定義的鍵盤代碼.
event ????? KeyEvent 對象,定義了按鈕動作.
返回值
??? 如果處理了事件,返回真.如果允許下一個事件接受器處理該事件,可以返回假.
?
public boolean onKeyUp (int keyCode, KeyEvent event)
KeyEvent.Callback.onKeyMultiple() 的默認實現(xiàn). 當釋放 KEYCODE_DPAD_CENTER 或 KEYCODE_ENTER 時執(zhí)行視圖的單擊事件.
參數(shù)
keyCode ????????? 表示按下的鍵的、在 KEYCODE_ENTER 中定義的鍵盤代碼.
event ????? KeyEvent 對象,定義了按鈕動作.
返回值
??? 如果處理了事件,返回真.如果允許下一個事件接受器處理該事件,可以返回假.
?
public void removeFilterWatcher (TextWatcher watcher)
?
?
public void setDigitsWatcher (TextWatcher watcher)
?
?
public void setFilterWatcher (TextWatcher watcher)
?
?
public void setLettersWatcher (TextWatcher watcher)
?
?
public void setMode (int newMode)
改變小部件的模式。
參數(shù)
newMode ?????? 變更的目標模式。
?
受保護方法
protected void onFinishInflate ()
根據(jù) XML 生成視圖工作完成.該函數(shù)在生成視圖的最后調用,在所有子視圖添加完之后。
即使子類覆蓋了 onFinishInflate 方法,也應該調用父類的方法,使該方法得以執(zhí)行。
?
protected void onFocusChanged (boolean focused, int direction, Rect previouslyFocusedRect)
如果有圖標,只是在得到焦點時顯示圖標視圖。
參數(shù)
focused ? 如果視圖具有焦點,值為真;否則為假.
direction ???????? 當調用 requestFocus() 為該視圖設置焦點時,該值為焦點移動的方向. 其值為 FOCUS_UP、FOCUS_DOWN、 FOCUS_LEFT 或者 FOCUS_RIGHT. 當使用無參數(shù)的 requestFocus() 時,可能無值.
previouslyFocusedRect 失去焦點的視圖的矩形坐標,使用該視圖的坐標系統(tǒng).如果指定了, 它將傳入可以知道焦點來自哪里的詳細信息(作為對 direction 的補充). 否則,其值為 null。
?
protected void onModeChange (int oldMode, int newMode)
在模式變更后調用,為子類提供可以用于重新更改風格的等附加操作的機會。
?
補充
???????? 示例代碼
<?xml version="1.0" encoding="utf-8"?>
<DialerFilter android:id="@+id/dialer_filter"
??? xmlns:android="http://schemas.android.com/apk/res/android"
??? android:layout_width="match_parent"
??? android:layout_height="match_parent">
?
??? <EditText android:id="@android:id/hint"
??????? android:layout_width="match_parent"
??????? android:layout_height="wrap_content"
??????? android:background="@android:drawable/editbox_background"/>
?
??? <EditText android:id="@android:id/primary"
??????? android:layout_width="match_parent"
??????? android:layout_height="wrap_content"
??????? android:layout_below="@android:id/hint"/>
?
</DialerFilter>
???????? 測試代碼
?????????????????? DialerFilterTest.java
?
?