Android的事件处理-android学习之旅(四十四)
来源:互联网 发布:mac怎么强制退出程序 编辑:程序博客网 时间:2024/06/11 02:22
androd事件处理简介
控制飞机移动的简单实例
package peng.liu.test;import android.app.ActionBar;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.Display;import android.view.KeyEvent;import android.view.Menu;import android.view.View;import android.view.Window;import android.view.WindowManager;public class MainActivity extends Activity{ int speed = 10; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); final Plane plane = new Plane(this); setContentView(plane); plane.setBackgroundResource(Color.RED); WindowManager manager = getWindowManager(); Display display = manager.getDefaultDisplay(); DisplayMetrics metrics = new DisplayMetrics(); display.getMetrics(metrics); plane.currentX = metrics.widthPixels/2; plane.currentY = metrics.heightPixels-40; plane.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { switch(keyEvent.getKeyCode()){ case KeyEvent.KEYCODE_S: plane.currentY+=speed; break; case KeyEvent.KEYCODE_W: plane.currentY-=speed; break; case KeyEvent.KEYCODE_A: plane.currentX-=speed; break; case KeyEvent.KEYCODE_D: plane.currentX+=speed; break; } plane.invalidate(); return true; } }); }}
package peng.liu.test;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.view.View;/** * Created by lplp on 2015/6/10. */public class Plane extends View { public float currentX,currentY; public Bitmap plane; public Plane(Context context){ super(context); plane = BitmapFactory.decodeResource(context.getResources(),R.drawable.ic_launcher); setFocusable(true); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint p = new Paint(); canvas.drawBitmap(plane,currentX,currentY,p); }}
0 0
- Android的事件处理-android学习之旅(四十四)
- Android开发笔记(四十四)动态UI事件
- <Android 基础(四十四)> View事件分发机制
- Android学习笔记四十四之Actionbar和Toolbar
- Android学习第六弹之Touch事件的处理
- Android学习之广播事件处理
- android学习笔记之事件处理机制
- Androin学习笔记四十四:android下socket编程问题:服务器关闭时,客户端发送请求的异常处理
- Android Api Demos登顶之路(四十四)Launcher Shortcuts
- Android之事件处理
- Android之事件处理
- Android实战技巧之四十四:Hello,Native!
- Android的事件处理之基于监听的事件处理
- Android的事件处理之基于监听的事件处理
- Android事件处理之基于监听的事件处理
- Android事件处理之基于监听的事件处理
- android学习之基础一android事件处理机制
- Android事件处理之处理键盘事件
- 对于View类的requestLayout()方法理解:
- C++10.3.5 map : : insert 的使用(下)(有不懂)
- asp.net中使用ueditor
- 文章标题
- Android控件点击事件的返回值,
- Android的事件处理-android学习之旅(四十四)
- 关于Activity的全屏显示设置。
- gdb 多线程调试
- 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- Android应用的自动升级、更新模块的实现
- leetcode--Reverse Linked List II
- 网络攻防初步
- PowerDesigner列名、注释内容互换
- 自定义控件时,一定要实现它的构造方法,