I have solve my problem, but i don't know how to do to keep my draw when i draw again. The onDraw clear sreen to draw again. Do you know how I can do? thanks
On 26 oct, 10:55, Nightwolf <mikh...@gmail.com> wrote: > Try adding invalidate() in your translate() method instead of > this.draw(_myCanvas);. > > On Oct 25, 2:37 pm, "stephane.cast...@gmail.com" > > <stephane.cast...@gmail.com> wrote: > > Hi! > > I have a problem with one of my app. I try to make a paint application > > but nothing isdrawon the screen (except the first circle which is > >drawon the launch). > > The log Cat seems to be correct and i get the right x/y coordinates. I > > think i do something wrong on the ondraw. > > > do you see my problem? > > > Thanks. > > > this is my code : > > > public class Main extends Activity { > > /** Called when the activity is first created. */ > > > private TableLayout myView; > > > @Override > > public void onCreate(Bundle savedInstanceState) { > > super.onCreate(savedInstanceState); > > Log.i("onCreate", " Start"); > > setContentView(R.layout.main); > > myView= (TableLayout)findViewById(R.id.TableLayout01); > > myView.addView(new PaintView(this)); > > } > > > } > > > public class PaintView extends View implements OnTouchListener { > > > private float _x, _y; > > private int _taille; > > private Canvas _myCanvas; > > private Paint _paint = new Paint(Paint.ANTI_ALIAS_FLAG); > > public PaintView(Context context){ > > super(context); > > Log.i("Info", "_paintview Constructor 1"); > > //this.setFocusableInTouchMode(true); > > _x=20; > > _y=20; > > _taille = 10; > > _paint.setColor(Color.RED); > > } > > > public PaintView(Context parent, float x, float y, int i) { > > super(parent); > > Log.i("Info", "_paintview Constructor"); > > _x=x; _y=y; _taille = i; > > _paint.setColor(Color.RED); > > > } > > > @Override > > protected void onDraw(Canvas canvas) { > > Log.i("Info ","onDraw start"); > > try{ > > // make the entire canvas white > > canvas.drawColor(Color.WHITE); > > > canvas.drawCircle(_x, _y, _taille, _paint); > > super.onDraw(canvas); > > > Log.i("Info ","x="+_x+" y="+_y); > > _myCanvas=canvas; > > } > > catch(Exception e) > > { > > Log.i("ERROR", "onDraw : " + e.getMessage()); > > } > > } > > > public void translate(float x, float y){ > > try{ > > _x=x; > > _y=y; > > this.draw(_myCanvas); > > } > > catch (Exception e){ > > Log.i("ERROR", " "+e.getMessage()); > > } > > } > > > @Override > > public boolean onTouchEvent(MotionEvent evt){ > > translate(evt.getX(), evt.getY()); > > return true; > > } > > > @Override > > public booleanonTouch(View v, MotionEvent evt) { > > translate(evt.getX(), evt.getY()); > > return false; > > } > > > } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---