2016-12-20 5 views
0

Ich entwickle eine App, die die Größe des Stiftes erkennen muss, zum Beispiel, wenn ich meine Hand (relativ breit) zum Zeichnen verwende, null zurückgeben, wenn ich den Stift (relativ klein) zum Zeichnen verwende, draw.Point-Methode ausführen .Wie bekomme ich Android-Farbe (Stift) Größe?

Ich habe keine Ahnung, wie das zu erkennen ist. Bitte um Hilfe, danke.

Meine Codeliste wie folgt.

public PaintView(Context context) { 
     super(context); 
     paint=new Paint(Paint.DITHER_FLAG); 
     bitmap = Bitmap.createBitmap(MainActivity.widthPixels, MainActivity.heightPixels, Bitmap.Config.ARGB_8888); 
     canvas=new Canvas(); 
     canvas.setBitmap(bitmap); 

     paint.setStyle(Paint.Style.STROKE); 
     //float size = paint.getStrokeWidth(); 
     paint.setStrokeWidth(5); 
     paint.setColor(Color.RED); 
    } 

@Override 
    protected void onDraw(Canvas canvas) { 
     canvas.drawBitmap(bitmap,0,0,null); 
    } 

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     if (event.getAction()==MotionEvent.ACTION_MOVE) { 
      canvas.drawLine(mov_x, mov_y, event.getX(), event.getY(), paint); 
      invalidate(); 
     } 
     if (event.getAction()==MotionEvent.ACTION_DOWN) { 
      mov_x=(int) event.getX(); 
      mov_y=(int) event.getY(); 
      canvas.drawPoint(mov_x, mov_y, paint); 
      invalidate(); 
     } 
     mov_x=(int) event.getX(); 
     mov_y=(int) event.getY(); 
     return true; 
    } 

Antwort

1

können Sie MotionEvent.getSize() Methode Größen Finger und Stift berühren zu erkennen und dann Regel erstellen, wie Sie feststellen können, was die Berührung verursacht. Auch MotionEvent.getPressure() kann nützlich sein.

+0

Vielen Dank für Ihre freundliche Hilfe! –

Verwandte Themen