我在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,然后单击可见。 我可以再次重新绘制。我已经绘制了一条线,我必须让它可见并且不可见
任何想法?
答案 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();
}
});