0

我在 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);
     }

在按钮 Click 上,我想让 Red Line InVisible 和 next click 可见。我不能再重画了。我绘制的线,我必须让它可见和不可见

任何想法?

4

1 回答 1

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();

            }
        });
于 2013-08-29T11:53:38.837 回答