首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

银幕画点

2012-09-11 
屏幕画点package com.touchimport android.app.Activityimport android.content.Contextimport android

屏幕画点

package com.touch;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;

public class TouchActivity extends Activity {
???????????
??
???????????
????????? /** Called when the activity is first created. */?
????????? @Override?
????????? public void onCreate(Bundle savedInstanceState) {?
????????????? super.onCreate(savedInstanceState);?
????????????? //setContentView(R.layout.main);?
????????????? MyView view = new MyView(this);?
????????????? setContentView(view);?
????????????? view.requestFocus();?
???????????????
????????? }?
????? }?
???????
????? class MyView extends View{?
????????? private Paint mPaint, pointPaint;
????????? private Bitmap mBitmap;?
?????????? Context mContext;
?????????? int n;
????????? public MyView(Context context) {?
????????????? super(context);?
????????????? mContext = context;
????????????? mPaint = new Paint();?
????????????? mPaint.setAntiAlias(true);?
????????????? mPaint.setARGB(0, 0xff, 0, 0);
????????????? pointPaint = new Paint();
????????????? pointPaint.setARGB(150, 0, 255, 255);
????????????? pointPaint.setTextSize(30);
????????????? DisplayMetrics dm = new DisplayMetrics();
????????????? dm=getResources().getDisplayMetrics();
????????????? mBitmap = Bitmap.createBitmap(dm.widthPixels, dm.heightPixels, Bitmap.Config.RGB_565);?
???????
????????? }?
???????????
????????? @Override?
????????? protected void onDraw(Canvas canvas) {?
????????????? super.onDraw(canvas);?
???????????????
????????????? if(mBitmap != null)?
????????????????? canvas.drawBitmap(mBitmap, 0, 0, null);?
???????
????????? }?
????????? @Override?
????????? public boolean onTouchEvent(MotionEvent event) {?
????????????? int N = event.getHistorySize();?
????????????? float x = 0;?
????????????? float y = 0;?
????????????? x = event.getX();?
????????????? y = event.getY();?
????????????? Canvas canvas = new Canvas();?
????????????? canvas.setBitmap(mBitmap);?
????????????? if(event.getAction() == MotionEvent.ACTION_DOWN){
????????????????? mPaint.setARGB(0xff, 0, 0, 0);
????????????????? canvas.drawPaint(mPaint);
????????????????? n=0;
????????????????? invalidate();
????????????? }else{
????????????????? ++n;
????????????????? mPaint.setARGB(100, 0xff, 0, 0);?
????????????????? canvas.drawCircle(x, y, 4, mPaint);?
????????????????? invalidate();?
????????????? }
?????????????
????????????? if(event.getAction() == MotionEvent.ACTION_UP){
????????????????? canvas.drawText("点个数="+n, mBitmap.getWidth()/2-30, 30, pointPaint);
????????????????? invalidate();
????????????? }
?????????????
????????????? return true;?
????????? }?
???????????
}

热点排行