Я сделал собственный вид, который должен анимировать точку на фоне в соответствии с некоторыми внешними данными.(работает как талисман с текстовыми представлениями)
представление затем добавляется в xml и android: задан фон.
представление отображается правильно, но не обновляется.некоторая отладка показала, что 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);
}
}