前言

  本章内容是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

更多相关文章

  1. 未命名 3
  2. 2013.03.19(3)———android ActivityGroup的一些问题
  3. android中文api(79)——Gallery
  4. Android之获取屏幕和视图高和宽
  5. android command
  6. android利用画布实现环形菜单
  7. Android第一行代码——14章继续进阶-你还应该掌握的高级技巧
  8. android 盈利模式
  9. 精通android体系架构、mvc、常见的设计模式、控制反转(ioc)

随机推荐

  1. css 中的 content-visitly 提升渲染性能
  2. css的cursor样式
  3. 资深大牛带你深度剖析ios面试
  4. 大话HTTP协议漫画+图解打造高中生也能学
  5. Python工程师面试宝典一线大厂资深面试官
  6. Elastic Stack从入门到实践
  7. 我们可以控制你看到的内容:主流IPTV远程代
  8. 如何仿照OSINT模式进行机密信息的收集与
  9. 智能电视再曝漏洞——Supra智能云电视漏
  10. Yubikey的武器化之路,以***kiosk自助设备