Autore Topic: Seguire il touch su uno sfondo predefinito  (Letto 373 volte)

Offline filipposapo

  • Utente junior
  • **
  • Post: 135
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Tablet Samsung Note 10.1
  • Sistema operativo:
    Windows 8
Seguire il touch su uno sfondo predefinito
« il: 02 Dicembre 2013, 12:25:08 CET »
0
Salve a tutti,
sbocconcellando qua e la ho scritto questo codice

Codice (Java): [Seleziona]
public class SingleTouchActivity extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        //      setContentView(new SingleTouchEventView(this, null));
        }

}

Codice (Java): [Seleziona]
package com.example.prova;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

public class SingleTouchEventView extends View {
  private Paint paint = new Paint();
  private Path path = new Path();

  public SingleTouchEventView(Context context, AttributeSet attrs) {
    super(context, attrs);

    paint.setAntiAlias(true);
    paint.setStrokeWidth(6f);
    paint.setColor(Color.BLACK);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeJoin(Paint.Join.ROUND);
  }

  @Override
  protected void onDraw(Canvas canvas) {
    canvas.drawPath(path, paint);
  }

  @Override
  public boolean onTouchEvent(MotionEvent event) {
    float eventX = event.getX();
    float eventY = event.getY();

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
      path.moveTo(eventX, eventY);
      return true;
    case MotionEvent.ACTION_MOVE:
      path.lineTo(eventX, eventY);
      break;
    case MotionEvent.ACTION_UP:
      // nothing to do
      break;
    default:
      return false;
    }

    // Schedules a repaint.
    invalidate();
    return true;
  }
}

quello che fa è seguire il movimento del dito disegnando una linea.
Io ora vorrei inserire uno layout con dei button, vorrei comunque seguire il movimento e se esso intercetta i button ci sono degli eventi.
E' possibile?? avete consigli?