Rotate compass in smooth way issue android -


this code use sensor class , other activity but
want compass rotate in smooth way use bitmap image on canvas bitmap not rotate in smooth way

  public class compassview extends view   {   private int mwidth;   private int mheight;   private float position = 0;   private  bitmap mycompasspointer;   public compassview(context context)    {   super(context);   mycompasspointer=bitmapfactory.decoderesource(getresources(),   r.drawable.pin_finder);   }   @override   protected void ondraw(canvas canvas)    {   int cx = (mwidth - mycompasspointer.getwidth()) >> 1;    int cy = (mheight - mycompasspointer.getheight()) >> 1;   if (position > 0)    {   canvas.rotate(position, mwidth >> 1, mheight >> 1);   }   //it set bitmap cx,cy position   canvas.drawbitmap(mycompasspointer, cx, cy, null);   canvas.restore();   }   public void updatedata(float position)   {   this.position = position;   invalidate();   }   protected void onmeasure(int widthmeasurespec, int     heightmeasurespec)    {   // todo auto-generated method stub   super.onmeasure(widthmeasurespec, heightmeasurespec);   mwidth = view.measurespec.getsize(widthmeasurespec);   mheight = view.measurespec.getsize(heightmeasurespec);   }   } 

you should store current rotation of canvas in field variable , on each update of data use objectanimator smoothly update value of current rotation of canvas new value. sure invalidate view on each animation frame. can read more animations of properties , objectanimator here: property animation


Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - How to Hide Date Menu from Datepicker in yii2 -