`

Android学习之键盘事件

阅读更多

MyKeyDemo.java:

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.ImageView;

public class MyKeyDemo extends Activity {
	private EditText input = null;
	private ImageView img = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.input = (EditText) super.findViewById(R.id.input); // 取得组件
		this.img = (ImageView) super.findViewById(R.id.img); // 取得组件
		this.input.setOnKeyListener(new OnKeyListenerImpl());
	}

	private class OnKeyListenerImpl implements OnKeyListener {

		public boolean onKey(View v, int keyCode, KeyEvent event) {
			switch (event.getAction()) {
			case KeyEvent.ACTION_UP:
				String msg = MyKeyDemo.this.input.getText().toString(); // 取得输入的文字信息
				if (msg.matches("\\w+@\\w+\\.\\w+")) { // 验证通过
					MyKeyDemo.this.img.setImageResource(R.drawable.right); // 设置正确图片
				} else {
					MyKeyDemo.this.img.setImageResource(R.drawable.wrong); // 设置错误图片
				}
			case KeyEvent.ACTION_DOWN: // 键盘按下
				break;
			}
			return false;
		}
	}
}

 

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView 
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" 
		android:text="请输入EMAIL地址:" />
	<EditText
		android:id="@+id/input"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:selectAllOnFocus="true" />
	<ImageView
		android:id="@+id/img"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:src="@drawable/wrong"/>
</LinearLayout>

 

 

分享到:
评论

相关推荐

    Android自定义键盘之中文键盘demo

    本示例“Android自定义键盘之中文键盘demo”旨在教你如何为Android应用创建一个功能完备的中文输入键盘。下面将详细介绍这个过程中的关键知识点。 1. **Android InputMethodService(IMS)**: 自定义键盘的核心是...

    android处理键盘事件之物理按键(屏蔽后退键)

    在Android开发中,处理键盘事件是一项重要的任务,特别是在设计用户交互界面时。本文将深入探讨如何处理物理按键事件,特别是如何屏蔽系统自带的后退键。Android设备通常配备多个物理按键,包括返回键,这对于应用的...

    Android监听输入法软键盘按键demo

    在Android开发中,有时我们需要获取用户在软键盘上输入的信息,比如在聊天应用中实现自动补全或实时搜索功能。本文将深入探讨如何在Android...在开发过程中,不断学习和理解Android系统的机制,是提升应用质量的关键。

    该组件用于ReactNative中获取Android原生层面的键盘响应事件

    标题提到的组件就是这样的一个工具,它允许开发者在React Native应用中捕获Android底层的键盘(或遥控器)事件。这个组件主要用于Android TV环境,目的是为了监听和处理遥控器产生的按键输入。 React Native是一种...

    android 自定义软键盘or系统键盘源码

    通过阅读这些源码,开发者可以了解到Android系统键盘如何处理触摸事件,如何进行文本预测和纠错,以及如何与应用进行通信等细节。 `SoftKeyboard.rar`和`keydemo.zip`可能包含了一些示例代码或已完成的自定义键盘...

    android 纯自定义数字键盘输入

    总之,"android 纯自定义数字键盘输入"项目是一个实用的学习资源,它涵盖了Android自定义View的开发、触摸事件处理、界面布局设计等多个知识点。通过研究这个`KeyDemo`,开发者不仅可以学会如何创建自定义键盘,还能...

    Android自定义随机键盘

    在Android开发中,有时我们需要为应用提供特殊功能的键盘,比如密码输入、验证码输入等,这时自定义键盘就显得尤为...通过这个项目,开发者可以深入理解Android键盘的实现原理,并学习如何解决实际开发中遇到的问题。

    自定义车牌号键盘_Android(Java)

    通过这个项目,开发者可以学习到如何在Android中实现一个自定义键盘,并根据实际需求调整代码以适应不同的输入场景。尽管可能存在不完美的地方,但这个项目提供了一个很好的起点,可以在此基础上进行优化和完善,以...

    Android键盘监控源码,检测按键

    通过阅读和学习源码,开发者可以理解如何在Android系统中实现键盘事件的捕获,以及如何处理这些事件。 总结,这个项目为我们提供了一个了解和实践Android键盘监控技术的机会。通过深入研究源码,开发者不仅可以学习...

    android自定义全键盘随机(包含字母+标点符号+数字)

    总之,自定义全键盘开发涉及到了Android的UI设计、事件处理、输入法服务等多个方面,是一个综合性的任务。通过理解并实践这个项目,开发者可以提升自己的Android编程技能,更好地满足用户在不同场景下的输入需求。

    安卓键盘输入相关-android自定义键盘数字键盘密码键盘全部支持.rar

    在Android开发中,有时我们需要为特定应用场景自定义键盘,例如数字键盘用于输入...通过学习和实践这个压缩包中的代码,开发者可以更好地掌握如何在Android中创建自定义的数字键盘和密码键盘,从而提高应用的用户体验。

    Android自定义密码键盘

    总之,"Android自定义密码键盘"项目涵盖了Android UI设计、事件处理、动画、数据绑定等多个方面的知识,对于深入理解Android应用开发具有很高的实践价值。开发者可以通过这个项目学习如何提高应用的交互性和安全性。

    android键盘

    "简单键盘"可能指的是开发者为了特定需求或者学习目的创建的一个自定义键盘实现。本文将深入探讨Android键盘的相关知识点,包括系统键盘、自定义键盘以及如何通过`KeyboardDemo`这样的示例项目进行实践。 一、系统...

    Android自定义软键盘

    总之,创建Android自定义软键盘涉及到了服务组件、UI布局设计、事件处理等多个方面。理解这一过程不仅有助于提升Android开发技能,还能为特定应用场景提供更优质的用户体验。通过不断学习和实践,开发者可以打造出...

    Android Dialog与软键盘的正确打开方式

    而软键盘的管理和显示则是移动应用用户体验的关键因素之一。本文将深入探讨如何在Android中正确处理Dialog与软键盘的交互。 首先,让我们了解Android Dialog的基本用法。Dialog是基于Activity的,通常用于显示一些...

    android 全键盘输入法源码

    总的来说,"android 全键盘输入法源码"的学习涵盖了Android系统服务、UI设计、事件处理、组件通信等多个方面,对于提升Android开发技能和对系统的理解非常有帮助。通过分析和实践,开发者能够构建出更加高效、易用的...

    Android软键盘学习资料

    以下是对“Android软键盘学习资料”中涉及的知识点的详细解析: 1. **Android软键盘的显示与隐藏**: - 当用户在EditText输入时,系统会自动弹出软键盘。开发者可以通过`android:windowSoftInputMode`属性在...

    Android应用源码之仿淘宝自定义键盘.zip

    在Android开发中,自定义键盘是一项常见的...通过学习和实践,开发者不仅可以掌握自定义键盘的实现,还能提升对Android UI组件和事件处理的理解。同时,源码的学习也是提升编程能力、代码可读性和可维护性的重要途径。

    android随机密码键盘

    3. **触摸事件处理(TouchEvent Handling)**:当用户在屏幕上点击时,应用需要能够识别这些事件并作出相应的反应,比如改变键盘的位置。这需要对`View`类的`onTouchEvent()`方法进行重写。 4. **动画效果...

    android自定义键盘

    总结来说,自定义键盘在Android开发中是一种常见的需求,通过理解并实践"android自定义键盘"这个Demo,开发者可以学习到布局设计、事件处理、自定义控件封装以及数据安全等相关知识,从而提高自己的技能水平。

Global site tag (gtag.js) - Google Analytics