Android中文API(124) —— DialerFilter


 

前言

  本章内容是android.widget.DialerFilter,版本为Android 3.1 r1,翻译来自"cnmahj",欢迎大家访问他的博客:http://android.toolib.net/blog/,再次感谢"cnmahj"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。

 

声明

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

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

    Android中文翻译组:http://goo.gl/6vJQl

 

 

 

DialerFilter

译者署名: cnmahj

译者链接:http://blog.toolib.net/cnmahj

版本:Android 3.1 r1

 

结构

继承关系

public static interface View.OnClickListner

        

android.view.View.OnClickListener

 

子类及间接子类

间接子类

CharacterPickerDialog, KeyboardView, QuickContactBadge

                  

类概述

  

  (译者注:拨号器过滤,暂时不清楚使用方法和场景。)

             

常量

public static final int DIGITS_AND_LETTERS

该模式包含两行。

常量值: 1 (0x00000001)

 

public static final int DIGITS_AND_LETTERS_NO_DIGITS

DIGITS_AND_LETTERS 模式开始后,过滤器移除了所有匹配的数字, 只剩字母行时的模式。

常量值: 2 (0x00000002)

 

public static final int DIGITS_AND_LETTERS_NO_LETTERS

DIGITS_AND_LETTERS 模式开始后,过滤器移除了所有匹配的字母, 只剩数字行时的模式。

常量值: 3 (0x00000003)

 

public static final int DIGITS_ONLY

该模式只有数字行。

常量值: 4 (0x00000004)

 

public static final int LETTERS_ONLY

该模式只有字母行。

常量值: 5 (0x00000005)

             

公共方法

public void append (String text)

 

public void clearText ()

清除数值和过滤器文本。

 

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() 的默认实现. 如果视图可用并可按, 当按下 KEYCODE_DPAD_CENTER KEYCODE_ENTER 时执行视图的按下事件.

参数

keyCode           表示按下的键的、在 KEYCODE_ENTER 中定义的键盘代码.

event       KeyEvent 对象,定义了按钮动作.

返回值

    如果处理了事件,返回真.如果允许下一个事件接受器处理该事件,可以返回假.

 

public boolean onKeyUp (int keyCode, KeyEvent event)

KeyEvent.Callback.onKeyMultiple() 的默认实现. 当释放 KEYCODE_DPAD_CENTER KEYCODE_ENTER 时执行视图的单击事件.

参数

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)

改变小部件的模式。

参数

newMode        变更的目标模式。

 

受保护方法

protected void onFinishInflate ()

根据 XML 生成视图工作完成.该函数在生成视图的最后调用,在所有子视图添加完之后。

即使子类覆盖了 onFinishInflate 方法,也应该调用父类的方法,使该方法得以执行。

 

protected void onFocusChanged (boolean focused, int direction, Rect previouslyFocusedRect)

如果有图标,只是在得到焦点时显示图标视图。

参数

focused  如果视图具有焦点,值为真;否则为假.

direction          当调用 requestFocus() 为该视图设置焦点时,该值为焦点移动的方向. 其值为 FOCUS_UPFOCUS_DOWN FOCUS_LEFT 或者 FOCUS_RIGHT. 当使用无参数的 requestFocus() 时,可能无值.

previouslyFocusedRect 失去焦点的视图的矩形坐标,使用该视图的坐标系统.如果指定了, 它将传入可以知道焦点来自哪里的详细信息(作为对 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

 

 

 

 

posted @ 2011-06-10 13:06  农民伯伯  阅读(4315)  评论(1编辑  收藏  举报