关闭

android 中按键响应实例

3616人阅读 评论(0) 收藏 举报

下面实例中是在一个Activity 中通过上下左右方向键来控制红色小方块的移动,未作边界检测

效果如下:



RectControlActivity.java

package cie.Rect;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class RectControlActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);//设置窗口没有标题
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        		WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏显示        
        setContentView(new RectControlView(this));
    }
}
RectControlView.java

package cie.Rect;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.KeyEvent;
import android.view.View;

public class RectControlView extends View {
	
	int left = 40;
	int top = 40;
	int width = 40;
	int height = 40;
	
	public RectControlView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
		setFocusable(true);
	}

	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		Paint paint = new Paint();
		paint.setColor(Color.RED);
		
		canvas.drawRect(left, top, left+width, top+height, paint);
		postInvalidate();
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		switch(keyCode)
		{
		case KeyEvent.KEYCODE_DPAD_UP:
			top = top - 10;
			break;
		case KeyEvent.KEYCODE_DPAD_DOWN:
			top = top + 10;
			break;
		case KeyEvent.KEYCODE_DPAD_LEFT:
			left = left - 10;
			break;
		case KeyEvent.KEYCODE_DPAD_RIGHT:
			left = left + 10;
			break;
		default:
				break;
		}
		return super.onKeyDown(keyCode, event);
	}
}




0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1063649次
    • 积分:8844
    • 等级:
    • 排名:第2123名
    • 原创:111篇
    • 转载:68篇
    • 译文:0篇
    • 评论:123条
    最新评论