4.1安卓按键事件

案例演示

1、创建安卓应用

2、放入图片

米老鼠的背景要镂空

 3、主字符串资源文件

<resources>
    <string name="app_name">通过按键移动米老鼠</string>
</resources>

4、主布局资源文件

 修改布局为线性布局,设置相关属性

 

 添加一个图像视图,设置相关属性

 

 查看预览效果

 5、主界面类实现功能

 声明常量和变量

通过资源标识符获取控件实例

 

让线性布局获取焦点 

 获取米老鼠图像控件的布局参数

给线性根布局注册按键监听器 

public boolean onKey(View v, int keyCode, KeyEvent event) {
                //根据按键来修改米老鼠图像控件的布局参数 - 主要是改变图像的位置
                switch (keyCode){
                    case KeyEvent.KEYCODE_DPAD_UP://19按上方向键
                        layoutParams.topMargin = layoutParams.topMargin - STEP;
                        break;
                    case KeyEvent.KEYCODE_DPAD_DOWN://20,按下方向键
                        layoutParams.topMargin = layoutParams.topMargin + STEP;
                        break;
                    case KeyEvent.KEYCODE_DPAD_LEFT://21,按左方向键
                        layoutParams.leftMargin = layoutParams.leftMargin - STEP;
                        break;
                    case KeyEvent.KEYCODE_DPAD_RIGHT://22,按右方向键
                        layoutParams.leftMargin = layoutParams.leftMargin + STEP;
                        break;
                }
                //重新设置米老鼠图像控件的布局参数,改变其位置
                ivMickey.setLayoutParams(layoutParams);
                return false;//事件要往后传播
            }

按上下左右方向键来测试

 6、代码说明

如果根布局没有获得焦点,那么按键不会移动米老鼠

 要将图像的布局参数类型转换成线性布局的布局参数

 布局参数修改之后,一定要图像控件重新设置布局参数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值