1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
| package your.package63.namespace;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Handler;
import android.util.Log;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class Draw2D extends View implements OnTouchListener {
private Paint mPaint;
Context cont;
Draw2D d2d;
Integer q;
float x;
float y;
TextView tx ;
private Handler mHandler = new Handler();
public Draw2D(Context context) {
super(context);
cont = context;
d2d=this;
q=0;
mPaint = new Paint();
mHandler.postDelayed(TimeUpdater, 100);
this.setOnTouchListener(this);
}
protected void onDraw(Canvas canvas)
{
//Log.i("OnDraw","Start");
super.onDraw(canvas);
mPaint.setColor(Color.DKGRAY);
canvas.drawPaint(mPaint);
mPaint.setColor(Color.YELLOW);
mPaint.setStyle(Style.FILL);
mPaint.setAntiAlias(true);
canvas.drawCircle(150, 150, 20, mPaint);
mPaint.setColor(Color.GREEN);
Display disp = ((WindowManager)cont.getSystemService(cont.WINDOW_SERVICE)).getDefaultDisplay();
canvas.drawRect(10, 10, 100, 20, mPaint);
mPaint.setColor(Color.RED);
canvas.drawRect(0, disp.getHeight()-150, 100, disp.getHeight()-120, mPaint);
canvas.drawText(q.toString(),11, 11, mPaint);
q++;
//Log.i("OnDraw","Good");
}
private Runnable TimeUpdater = new Runnable() {
public void run() {
d2d.invalidate();
// задержка в 100 мс
mHandler.postDelayed(this, 100);
}
};
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
Log.i("app","Work+Move");
break;
case MotionEvent.ACTION_DOWN:
Log.i("app","Work+Down");
Toast.makeText(cont, "move", Toast.LENGTH_SHORT);
break;
case MotionEvent.ACTION_UP:
Log.i("app","Work+Up");
Toast.makeText(cont, "move", Toast.LENGTH_SHORT);
break;
default:
break;
}
return false;
}
} |