Android开发之事件和事件监听器
来源:互联网 发布:java程序员常用工具 编辑:程序博客网 时间:2024/05/22 05:25
写了一个打飞机的小程序,用于作为事件监听的学习,此程序需要有实体按键的手机才能执行。
PlaneView.java:
public class PlaneViewextends View{
public floatcurrentX;
public floatcurrentY;
Bitmap plane;
public PlaneView(Context context) {
super(context);
// TODO Auto-generated constructor stub
//定义飞机图片
plane = BitmapFactory.decodeResource(context.getResources(), R.drawable.feiji);
setFocusable(true);
}
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint p = new Paint();
canvas.drawBitmap(plane,currentX, currentY, p);
}
}
Activity.javapublic class MainActivityextends Activity {
//定义飞机移动速度
private intspeed = 12;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
final PlaneView planeView =new PlaneView(this);
setContentView(planeView);
//planeView.setBackgroundResource(R.drawable.feiji);
WindowManager win = getWindowManager();
Display dis = win.getDefaultDisplay();
int width = dis.getWidth();
int height = dis.getHeight();
//设置飞机的初始位置
planeView.currentX = width / 2;
planeView.currentY = height - 40;
//为draw组建键盘事件绑定监听器
planeView.setOnKeyListener(new OnKeyListener() {
@Override
publicboolean onKey(View source, int keyCode, KeyEvent event) {
//TODO Auto-generated method stub
//获取由哪个键出发的时间
switch(event.getKeyCode())
{
case KeyEvent.KEYCODE_DPAD_DOWN:
planeView.currentY +=speed;
break;
case KeyEvent.KEYCODE_DPAD_UP:
planeView.currentY -=speed;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
planeView.currentX -=speed;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
planeView.currentX +=speed;
break;
}
//通知planeView组建重绘
planeView.invalidate();
returntrue;
}
});
}
}
个人辛勤劳动成果,如有转载,请注明出处,谢谢。- Android开发之事件和事件监听器
- android之【事件监听器】
- Android的事件和事件监听器
- 【Android 开发教程】注册事件监听器
- 自定义事件和事件监听器。。。
- java_事件和事件监听器
- 事件和事件监听器 笔记
- Java基础教程之事件和监听器
- Java基础教程之事件和监听器
- Java基础教程之事件和监听器
- Java基础教程之事件和监听器
- Java基础教程之事件和监听器
- Java基础教程之事件和监听器
- Android事件和监听器详细的介绍
- Servlet之事件监听器
- android监听器事件
- Android事件监听器
- Java事件和监听器
- CSS3 Media Queries 媒体查询
- Laravel的路由管理
- 认错书:
- spring注入失败
- 迈阿密是如何通过大数据解决大难题的?
- Android开发之事件和事件监听器
- jquery的ajax同步和异步
- hdoj 1101/poj 2423 解题思路
- 图片模糊处理的几种方法
- cut命令
- Android开发学习之Intent详解
- 【转载】VC2005 GDI+编程 -- 配置
- 幼童香港便溺争端:无关文明有关情绪
- 《Java程序员面试笔试宝典》之Static关键字有哪些作用