我發現了很多關於stackoverflow的帖子,但仍然無法解決我的問題。 下面是我的代碼 Fragment:public class MyView extends RelativeLayout {

Button b1;

Button b2;

Context sContext;

public static int i = 0;

private int w = 400;

private int h = 400;

private int w2 = 100;

private int h2 = 100;

public MyView(Context context) {

super(context);

sContext = context;

init();

}

public MyView(Context context, AttributeSet attrs) {

super(context, attrs);

sContext = context;

init();

}

private void init() {

b1 = new Button(sContext);

addView(b1);

b1.setBackgroundColor(Color.YELLOW);

b1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if (w> = 600) {

MyView.this.setBackgroundColor(Color.GREEN);

//b1.setBackgroundColor(Color.RED);

} else {

MyView.this.setX(100);

}

MyView.this.invalidate();

w += 100;

w2 += 20;

}

});

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

//b1.setBackgroundColor(Color.RED);

Toast.makeText(sContext,""+i, Toast.LENGTH_SHORT).show();

++i;

}

}

請解釋一下為什麼onDraw沒有被調用前三次我按 b1? 因為每次按下b1時我都稱無效。 非常感謝!

Logo

一站式 AI 云服务平台

更多推荐