1
我有包含遊戲hang子手的應用程序。我已經爲他們的繪畫責任制定了一項單獨的活動。下面的代碼:Android:切換和更新佈局
public class DrawWisielec extends View
{
Paint paint;
int choose;
public DrawWisielec(Context context,int choose)
{
super(context);
this.choose = choose;
}
protected void onDraw(Canvas canvas)
{
canvas.drawRGB(0,0,0);
Paint Circle = new Paint();
Paint paint = new Paint();
Circle.setARGB(255,255,255,255);
Circle.setStyle(Paint.Style.STROKE);
Circle.setStrokeWidth(5);
paint.setARGB(255, 255, 255, 255);
paint.setStrokeWidth(5);
switch(choose)
{
case 1:
{
canvas.drawLine(50, 400, 100, 300, paint);
break;
}
case 2:
{
canvas.drawLine(100, 300, 150, 400, paint);
break;
}
case 3: canvas.drawLine(100, 300, 100, 50, paint);
case 4:canvas.drawLine(100,50,300,50,paint);
case 5:canvas.drawLine(300,50,300,100,paint);
case 6:canvas.drawCircle(300, 150, 50, Circle);
case 7:canvas.drawLine(300, 200, 300, 250, paint);
case 8:canvas.drawLine(300, 250, 250, 200, paint);
case 9:canvas.drawLine(300, 250, 350, 200, paint);
case 10:canvas.drawLine(300, 250, 275, 330, paint);
case 11:canvas.drawLine(300, 250, 325, 330, paint);
}
invalidate();
}
如何從另一個活動圖紙的各個階段,該階段的代碼如下之間切換:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_mode_wisielec);
DrawLayout = (LinearLayout)findViewById(R.id.WisielecDrawLayout);
DrawWisielec draw = new DrawWisielec(this, choose);
DrawLayout.addView(draw);
我使用這種方法,但我有例外,這是我的代碼:這是我發射你寫的東西的方法。 draw.setChoose(選擇)返回異常。 這是我的方法drawChoose: \t公共無效setChoose(INT X) \t { \t \t this.choose = X; \t} – 2013-03-23 08:54:25
你會得到什麼例外? – 2013-03-23 08:56:34
ThreadException,我是否需要調用invalidate並設置選擇線程?對不起,我的英語很少。 – 2013-03-23 09:19:41