Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7723565
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: Android平台

2015-11-19 19:48:22

键盘事件主要功能是用于进行键盘的监听处理操作,例如:用户输入某些内容之后,可以直接通过键盘事件进行跟踪,下面在文本框上设置键盘的操作事件,将文本框每次输入的内容直接增加到文本显示组件中,键盘事件使用View.OnKeyListener接口进行事件的处理

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout                     ?    定义线性布局管理器
  3.     xmlns:android=""
  4.     android:orientation="horizontal"         ?    所有组件水平摆放
  5.     android:layout_width="fill_parent"        ?    布局管理器的宽度为屏幕宽度
  6.     android:layout_height="fill_parent">        ?    布局管理器的高度为屏幕高度
  7.     <TextView                 ?    文本显示组件
  8.         android:layout_width="wrap_content"    ?    组件宽度为文字宽度
  9.         android:layout_height="wrap_content"     ?    组件高度为文字高度
  10.         android:text="请输入email地址:"/>        ?    默认显示文字
  11.     <EditText                 ?    文本输入组件
  12.         android:id="@+id/input"        ?    组件ID,程序中使用
  13.         android:layout_width="wrap_content"    ?    组件宽度为文字宽度
  14.         android:layout_height="wrap_content"     ?    组件高度为文字高度
  15.         android:selectAllOnFocus="true"/>        ?    默认获得焦点
  16.     <ImageView                ?    图片视图,显示图片信息
  17.         android:id="@+id/img"        ?    组件ID,程序中使用
  18.         android:layout_width="wrap_content"    ?    组件宽度为图片宽度
  19.         android:layout_height="wrap_content"     ?    组件高度为图片高度
  20.         android:src="@drawable/wrong"/>    ?    默认显示图片
  21. </LinearLayout>

点击(此处)折叠或打开

  1. public class MyKeyDemo extends Activity {
  2.     private EditText input = null;        // 取得文本输入组件
  3.     private ImageView img = null;         // 定义图片视图
  4.     @Override
  5.     public void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         super.setContentView(R.layout.main);     // 调用布局管理器
  8.         this.input = (EditText) super.findViewById(R.id.input); // 文本输入组件
  9.         this.img = (ImageView) super.findViewById(R.id.img); // 取得图片组件
  10.         this.input.setOnKeyListener(new OnKeyListenerImpl());    // 设置监听
  11.     }
  12.     private class OnKeyListenerImpl implements OnKeyListener {
  13.         @Override
  14.         public boolean onKey(View v, int keyCode, KeyEvent event) {
  15.             switch(event.getAction()) {
  16.             case KeyEvent.ACTION_UP:    // 键盘松开触发
  17.                 String msg = MyKeyDemo.this.input.getText().toString();
  18.                 if (msg.matches("\\w+@\\w+\\.\\w+")) { // 判断是否是email
  19.                     MyKeyDemo.this.img.setImageResource(R.drawable.right); // 设置图片ID
  20.                 } else {
  21.                     MyKeyDemo.this.img.setImageResource(R.drawable.wrong); // 设置图片ID
  22.                 }
  23.             case KeyEvent.ACTION_DOWN:    // 键盘按下触发
  24.             default:
  25.                 break ;
  26.             }
  27.             return false;         // 继续事件应有的流程
  28.         }
  29.     }
  30. }
020608_键盘事件.ppt
阅读(1295) | 评论(0) | 转发(1) |
0

上一篇:焦点事件

下一篇:滚动视图:ScrollView

给主人留下些什么吧!~~