मैं कुछ सफलता के साथ एक कस्टम दृश्य की पृष्ठभूमि छवि बदलने की कोशिश कर रहा हूँ। छवि बदल जाएगी लेकिन समस्या यह है कि मैं अभी भी पुरानी छवि के निशान देखता हूं। जब मैं नई छवि खींचने से पहले कैनवास को साफ़ करने का प्रयास करता हूं, तो यह काम नहीं करता है। मैं छवि को स्टोर करने के लिए एक बिटमैप बनाते हैं। छवि को बदलते समय, मैं नई छवि खींचने से पहले Canvas.drawColor() को कॉल करता हूं लेकिन पुरानी छवि बनी रहती है। मैं drawColor (0), drawColor (Color.BLACK), c.drawColor (0, PorterDuff.Mode.CLEAR), और ऊपर काम करता है में से कोई भी कोशिश की है। इस तरह, मुझे इसे मुझसे अधिक अनुभवी दिमाग से समीक्षा के लिए पोस्ट करना पड़ा।क्लियरिंग कैनवास()
private int bgnd;
private boolean switching;
public void setBgnd(int incoming){
switching = true;
switch (incoming){
case R.drawable.image1:
bgnd = incoming;
this.invalidate();
break;
case R.drawable.image2:
bgnd = incoming;
this.invalidate();
break;
}
}
protected void onDraw(Canvas c){
if(switching == true){
Bitmap b = BitmapFactory.decodeResource(getResources(), bgnd);
c.drawColor(0, PorterDuff.Mode.CLEAR);
c.drawBitmap(b, 0, 0, null);
switching = false;
}else{
Bitmap b = BitmapFactory.decodeResource(getResources(), bgnd);
c.drawBitmap(b, 0, 0, null);
}
}
मुझे लगता है कि यह मुझे बाहर निकलने के लिए 2 मिनट से अधिक समय ले गया होगा। Thx funnyInAStrangerLand + longdooooo –