onTouchEvent / SurfaceView fragen.

  • Antworten:2
Michele
  • Forum-Beiträge: 1.525

08.06.2012, 09:03:34 via Website

Hallo.
Mache mich gerade bisschen mit onTouchEvent und SurfaceView vertraut.

Habe mir ein selbsgemachten Button also .bmp datei gemacht
Sehen tue ich ihn auch in meiner Anwendung/App.

Aber wie mache ich das nun wenn ich nur den Button.bmp anklicke das dann was passiert? Z.B als Test System.exit(0);

Habe das bis jetzt nur so hinbekommen für den ganzen Bildschirm.

1public boolean onTouchEvent(MotionEvent event) {
2if(event.getAction() == MotionEvent.ACTION_DOWN){
3System.exit(0);
4
5}
6return super.onTouchEvent(event);
7}

Mein Button.bmp ist so angelegt:
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ButtonPic);


LG

— geändert am 08.06.2012, 09:04:46

Antworten
Jan Müller
  • Forum-Beiträge: 17

08.06.2012, 14:46:42 via Website

Du fragst mit event.getX() und event.getY() die Position des Events ab und schaust ob die auf dem Button ist.

Antworten
Michele
  • Forum-Beiträge: 1.525

20.06.2012, 19:59:49 via Website

Hallo alle zusammen.

So ganz verstehe ich das noch nicht mit dem onTouchEvent:

1public boolean onTouchEvent(final MotionEvent event) {
2
3switch (event.getAction()) {
4
5case MotionEvent.ACTION_DOWN: {
6float posX = event.getX();
7float posY = event.getY();
8float x1 = 20, x2 = 100, y1 = 20, y2 = 100;
9
10if ((posX >= x1 && posX <= x2) && (posY >= y1 && posY <= y2)) {
11
12System.exit(0);
13
14} else {
15}
16break;
17}
18}
19return super.onTouchEvent(event);
20}

Wenn ich jetzt ganz Links Oben auf dem Screen klicke dann passiert das was ich angegeben habe.

Aber ich verstehe nicht wie ich meine Position da verändert kann.
Z.B ist mein Button weiter unten in der mitte.
x= 60 und y= 100

Nur einfach in der Methode was ändern bringt nichts.
Kann mir da einer weiter helfen?


LG

Antworten