Android键盘事件处理

1:通过重写onKeyDown事件,对应KeyEvent中按钮,对部分按钮进行事件处理,本例中上键增加图片的Alpha值,下键减少图片的Alpha值,

2:本例子使用onKeyDown()函数来获得按键的事件,同类的函数还包括onKeyUp()函数

/**
* 初始化资源文件
*
* @param
* @return void
* @throws
* @since TianTian
*/
private void initResource()
{
alpha_image = (ImageView) findViewById(R.id.alpha_image);

alpha_value = (TextView) findViewById(R.id.alpha_value);

alpha = 100;

alpha_image.setAlpha(alpha);

alpha_value.setText("alpha:" + alpha + "%");
}

/**
* 按键控制
*
* @param keyCode为按键码,msg表示按键事件的消息
* @return void
* @throws
* @since TianTian
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_UP:
alpha += 10;
break;

case KeyEvent.KEYCODE_DPAD_DOWN:
alpha -= 10;
break;

case KeyEvent.KEYCODE_DPAD_LEFT:

break;

case KeyEvent.KEYCODE_DPAD_RIGHT:
break;

default:
break;
}

if (alpha > 100)
{
alpha = 100;
}
else if (alpha < 0)
{
alpha = 0;
}

alpha_image.setAlpha(alpha);
alpha_value.setText("alpha:" + alpha + "%");

return super.onKeyDown(keyCode, event);
}

引申:
基本上通过keyCode可以获得是哪一个按键响应,而通过msg除了按键码之外,可以获得按键的动作(抬起、按下)、重复信息,扫描码等内容。
KeyEvent主要包含以下一些接口:
final int getAction() // 获得按键的动作
final int getFlags() // 获得标志
final int getKeyCode() // 获得按键码
final int getRepeatCount() // 获得重复的信息
final int getScanCode() // 获得扫描码
通过KeyEvent接口,可以获得按键相关的详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值