博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android的事件处理-android学习之旅(四十四)
阅读量:6544 次
发布时间:2019-06-24

本文共 2652 字,大约阅读时间需要 8 分钟。

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); }}
你可能感兴趣的文章
搜索营销推广学习资料
查看>>
HDOJ 1698
查看>>
linux里安装redis以及redis的安全设置
查看>>
Mysql Procudure
查看>>
【CodeForces】841C. Leha and Function(Codeforces Round #429 (Div. 2))
查看>>
作业第六次
查看>>
python 之 GIL
查看>>
构建之法 第一章 概论
查看>>
Hadoop编译安装
查看>>
安装 GNU gcc 编译器、g++ 编译器、make 和 gdb (CYGWIN)
查看>>
汇编字符串拷贝
查看>>
Lambda的前世今生
查看>>
黑马程序员-张老师基础加强3-内省
查看>>
TCP/IP模型简介和/etc/hosts文件说明
查看>>
UIButton常用属性
查看>>
主键自增归0
查看>>
杨辉三角
查看>>
mysql之 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
查看>>
如何批量修改文件后缀的方法
查看>>
Effective STL 笔记
查看>>