android - Fingerpainting on a half of the screen -


i testing fingerpaint demo sdk sample. of course works perfect guessing, there way make work on half of screen, can put buttons or images on other half? if not possible put image background of canvas looking other solution.

public class mainactivity extends activity {  drawingview dv ; private paint mpaint;      @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     dv = new drawingview(this);     setcontentview(dv);     mpaint = new paint();     mpaint.setantialias(true);     mpaint.setdither(true);     mpaint.setcolor(color.green);     mpaint.setstyle(paint.style.stroke);     mpaint.setstrokejoin(paint.join.round);     mpaint.setstrokecap(paint.cap.round);     mpaint.setstrokewidth(12); }  public class drawingview extends view {      public int width;     public  int height;     private bitmap  mbitmap;     private canvas  mcanvas;     private path    mpath;     private paint   mbitmappaint;     context context;     private paint circlepaint;     private path circlepath;      public drawingview(context c) {         super(c);         context=c;         mpath = new path();         mbitmappaint = new paint(paint.dither_flag);         circlepaint = new paint();         circlepath = new path();         circlepaint.setantialias(true);         circlepaint.setcolor(color.blue);         circlepaint.setstyle(paint.style.stroke);         circlepaint.setstrokejoin(paint.join.miter);         circlepaint.setstrokewidth(4f);     }      @override     protected void onsizechanged(int w, int h, int oldw, int oldh) {         super.onsizechanged(w, h, oldw, oldh);          mbitmap = bitmap.createbitmap(w, h, bitmap.config.argb_8888);         mcanvas = new canvas(mbitmap);     }      @override     protected void ondraw(canvas canvas) {         super.ondraw(canvas);          canvas.drawbitmap( mbitmap, 0, 0, mbitmappaint);         canvas.drawpath( mpath,  mpaint);         canvas.drawpath( circlepath,  circlepaint);     }      private float mx, my;     private static final float touch_tolerance = 4;      private void touch_start(float x, float y) {         mpath.reset();         mpath.moveto(x, y);         mx = x;         = y;     }      private void touch_move(float x, float y) {         float dx = math.abs(x - mx);         float dy = math.abs(y - my);         if (dx >= touch_tolerance || dy >= touch_tolerance) {             mpath.quadto(mx, my, (x + mx)/2, (y + my)/2);             mx = x;             = y;              circlepath.reset();             circlepath.addcircle(mx, my, 30, path.direction.cw);         }     }      private void touch_up() {         mpath.lineto(mx, my);         circlepath.reset();         // commit path our offscreen         mcanvas.drawpath(mpath,  mpaint);         // kill don't double draw         mpath.reset();     }      @override     public boolean ontouchevent(motionevent event) {         float x = event.getx();         float y = event.gety();          switch (event.getaction()) {             case motionevent.action_down:                 touch_start(x, y);                 invalidate();                 break;             case motionevent.action_move:                 touch_move(x, y);                 invalidate();                 break;             case motionevent.action_up:                 touch_up();                 invalidate();                 break;         }         return true;     } } }  

i know possible draw on imageview setting bitmap can control size of canvas not know how can use in fingerprint case

imageview img; button top; paint paint = new paint(); bitmap bmp = bitmap.createbitmap(600, 600, bitmap.config.argb_8888); canvas canvas = new canvas(bmp);   @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main);  img = (imageview) findviewbyid(r.id.img); top = (button) findviewbyid(r.id.top);   top.setonclicklistener(new view.onclicklistener() {     public void onclick(view v) {          paint.setantialias(true);          paint.setcolor(color.black);         paint.setstrokewidth(25);         canvas.drawline(100,100,200,100,paint);         img.setimagebitmap(bmp);     } }); 

i don't know library, try creating xml layout this:

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent" android:layout_height="match_parent"     android:orientation="vertical" android:gravity="center_horizontal">      <linearlayout         android:layout_width="match_parent" android:layout_height="wrap_content"      <!-- whatever layout want buttons , such -->      </linearlayout>      <linearlayout id="@+id/container         android:layout_width="match_parent"          android:layout_height="0dp"         android:layout_weight="1" /> </linearlayout> 

then in code:

@override protected void oncreate(bundle savedinstancestate) {  super.oncreate(savedinstancestate);  setcontentview(r.layout.layout_file_name);  dv = new drawingview(this); mpaint = new paint(); // set drawingview  viewgroup container = (viewgroup) findviewbyid(r.id.container); container.addview(dv); 

Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -