我做了一个自定义视图,它应该根据一些外部数据为背景上的点设置动画. (就像带有textviews的魅力一样)

然后在xml中添加视图并设置android:background.

视图正确呈现但不更新.一些调试显示onDraw只被调用一次.缺什么?

我的自定义视图的代码:

public class Gmeter extends ImageView {

private Bitmap dot;

private float dotHeight,dotWidth;

public Gmeter(Context context,AttributeSet attrs) {

super(context,attrs);

dot = BitmapFactory.decodeResource(getContext().getResources(),R.drawable.g_dot);

dotWidth = dot.getWidth();

dotHeight = dot.getHeight();

}

@Override

protected void onDraw(Canvas canvas){

super.onDraw(canvas);

float dataX =(float) Data.getX();

float x = (getWidth()-dotWidth)/2f;

float y = (getHeight()-dotHeight)/2f;

x+= dataX * getWidth() /2f;

canvas.drawBitmap(dot,x,y,null);

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐