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接口,可以获得按键相关的详细信息。
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接口,可以获得按键相关的详细信息。