2015年11月18日 星期三

Android-傳data給onDraw()

MainActivity:
mCanvasView=(CanvasView)findViewById(R.id.custom_view);
mCanvasView.setRender(true);
mCanvasView.setValue(w, d);
mCanvasView.invalidate();
To trigger the UI refresh:
mCanvasView.invalidate();
Canvas:
public class CanvasView extends View {
    private boolean isRender=false;
    public CanvasView(Context context,AttributeSet attrs) {
        super(context,attrs);
    }
    public void setValue(String[] mw,String[] md){
        w=mw;
        d=md;
    }
    public void setRender(boolean render){
        isRender=render;
    }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        if(isRender) {
           //Draw
        }
    }
}
使用isRender,在Create還沒傳送data,先不Draw

XML:

沒有留言:

張貼留言