Android在onDraw中创建新画布

时间:2013-08-29 11:12:09

标签: android android-canvas

我在customView中使用onDraw。我正在密谋两行。红色和绿色。

     @Override
  public void onDraw(Canvas canvas) 
   {

        super.onDraw(canvas); 

             canvas.DrawLine(0, 0, 700, 200, Green);
             canvas.DrawLine(0,0, 700, 250, Red);
     }

在按钮上单击,我想使红线InVisible,然后单击可见。   我可以再次重新绘制。我已经绘制了一条线,我必须让它可见并且不可见

任何想法?

1 个答案:

答案 0 :(得分:0)

在自定义视图中放置一个布尔值,并根据该行使行不可见/可见。在onClick监听器中设置布尔值,如下所示:

public class MyView extends View {

    boolean isVisible;

    //constructor etc.

    public boolean isVisible() {
        return isVisible;
    }

    public void setVisible(boolean visible) {
        isVisible = visible;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        super.onDraw(canvas);

        canvas.drawLine(0, 0, 700, 200, Green);

        if (isVisible)
            canvas.drawLine(0, 0, 700, 250, Red);

    }
}    

并且onClickListener将是:

button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                myView.setVisible(!myView.isVisible());
                myView.invalidate();

            }
        });