2010-07-14 6 views
1

Je suis en train de suivrede forme dans imageview

http://developer.android.com/guide/topics/graphics/2d-graphics.html

et dessiner une forme sur le dessus du imageview

ma classe est

package com.bayer.glucofacts; 

import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.drawable.ShapeDrawable; 
import android.graphics.drawable.shapes.OvalShape; 
import android.widget.ImageView; 

public class CustomDrawableImageView extends ImageView { 
private ShapeDrawable mDrawable; 

public CustomDrawableImageView(Context context) { 
    super(context); 
    int x = 10; 
    int y = 100; 
    int width = 300; 
    int height = 50; 
    mDrawable = new ShapeDrawable(new OvalShape()); 
    mDrawable.getPaint().setColor(0xff74AC23); 
    mDrawable.setBounds(x, y, x + width, y + height); 
} 

protected void onDraw(Canvas canvas) { 
    mDrawable.draw(canvas); 
} 
} 

et ne xl comme

<com.cmp.app.CustomDrawableImageView 
    android:id="@+id/bg_image" android:src="@drawable/book" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

mais cela bloque mon application quand je doo setContnetLayout dans surCréer de l'activité

lorsque je faisais seulement ImageView sans l'étendre pour le dessin de toile, ça fonctionnait très bien.

quel est le problème?

Fondamentalement, je prévois de dessiner une image et quelques lignes sur le dessus de l'image. comment faire ça?

Répondre

3

pour résoudre ce problème, vous devez changer votre constructeur à

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

il travaillera