2011-10-21 4 views
1

J'ai besoin de dessiner des rectangles à l'écran, sur l'image de fond. Pour cela, je crée cette classe:onDraw() est appelé mais rien ne s'affiche

public class MyImageView extends ImageView { 

    public MyImageView(Context context) { 
     super(context); 
    } 

    public MyImageView(Context context, AttributeSet attrs) { 
     super(context,attrs); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     System.out.println("draw"); 
     Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
     canvas.drawColor(Color.BLACK); 
     canvas.drawBitmap(background, 0, 0, null); 
    } 

} 

et fichier xml de l'activité que je mis:

<com.www.MyImageView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_marginLeft="150dip" 
     android:layout_marginTop="50dip"> 

En logCat je reçois le message vers le bas de onDraw() méthode, mais rien ne s'affiche. Où est mon problème? Qu'est-ce qui me manque?

+1

changement wrap_content à fill_parent – ingsaurabh

+0

Thanks..that était le problème :) – Gabrielle

+0

heureux d'apprendre que le problème est résolu :) – ingsaurabh

Répondre

0

juste essayer canvas.drawBitmap(background, 0, 0, new Paint());

Questions connexes