he definido una clase de esa manera:propio diseño definido, el método onDraw() no recibiendo llamadas
public class TestMyFrameLayout extends FrameLayout{
Paint mPaint;
public TestMyFrameLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TestMyFrameLayout(Context context) {
super(context);
mPaint = new Paint();
mPaint.setColor(Color.GREEN);
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawCircle(50f, 50f, 30, mPaint);
}
}
y lo llamó gustaría:
TestMyFrameLayout myFrameLayout = new TestMyFrameLayout(this);
LayoutParams myFrameLayoutParams = new LayoutParams(300,300);
myFrameLayout.setLayoutParams(myFrameLayoutParams);
setContentView(myFrameLayout);
pero en realidad TestMyFrameLayout.onDraw (Lona) la función no se llama, ¿por qué?
¿Podría mostrar el código donde lo usa? También agregue '@ Override' antes de onDraw: esto comprobará si hay errores en eclipse. –
Gracias Laurent '. Mi problema ya está resuelto Agregue this.setWillNotDraw (falso); –