前言

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

声明

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

    农民伯伯:http://over140.blog.51cto.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. Android(安卓)10.0夜间模式和换肤(备份)
  2. android取得系统高度,标题栏和状态高度
  3. 使用ScrollView实现滚动效果
  4. Android(安卓)Activity生命周期举例说明(图文)
  5. android 点击5次打开开发者模式
  6. Android(安卓)Studio 的抽屉导航
  7. 关于android的输入法框架(imf)
  8. Android(安卓)Studio 视图解析
  9. Android(安卓)Ap 开发 设计模式第一篇:迭代器模式

随机推荐

  1. 如何查看Android设备的CPU架构信息
  2. android 选择图片(从手机照相机或手机图
  3. 转:android 实现 流媒体 播放远程mp3文件
  4. Android源码下载
  5. 阅读《Android(安卓)从入门到精通》(13)—
  6. Android(安卓)动画监听器
  7. DecimalFormat 实现保留小数点位数及四舍
  8. Android(安卓)笔记.代码段
  9. Android(安卓)开发技巧集合
  10. Android中自定义通用Json解释器