爲什麼這段代碼不起作用?它總是強制結束我想切換視圖,但沒有發生。要麼它強制殺死或顯示黑屏。我想切換四個視圖。如何創建動畫?我已經創建了兩個自定義視圖,並且我想切換該視圖
public class DrawDemoActivity extends Activity {
DemoView demoview ;
FinalView finalview;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean first=true;
boolean sec=false;
demoview = new DemoView(this);
finalview = new FinalView(this);
// for contnivew switching the view
for(int i=0;i>0;i++)
{
if (first==true||sec==false)
{
setContentView(finalview);
first=false;
sec=true;
}else if(first==false||sec==true)
{
setContentView(demoview);
first=true;
sec=true;
}else if(first==true||sec==true)
{
setContentView(demoview);
first=false;
sec=false;
}else
{
setContentView(demoview);
first=false;
sec=false;
}
}
}
//first view
private class DemoView extends View{
public DemoView(Context context){
super(context);
}
@Override protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// custom drawing code here
// remember: y increases from top to bottom
// x increases from left to right
int x = 150;
int y = 200;
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
// make the entire canvas white
paint.setColor(Color.CYAN);
canvas.drawPaint(paint);
// another way to do this is to use:
// canvas.drawColor(Color.WHITE);
// draw blue circle with antialiasing turned on
paint.setAntiAlias(true);
paint.setColor(Color.RED);
canvas.drawCircle(x-24, y+30, 11, paint);
paint.setColor(Color.WHITE);
canvas.drawLine(0, 300 , 320, 300, paint);
}
}
//second view
private class FinalView extends View {
public FinalView(Context context){
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// custom drawing code here
// remember: y increases from top to bottom
// x increases from left to right
int x = 150;
int y = 200;
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
// make the entire canvas white
paint.setColor(Color.CYAN);
canvas.drawPaint(paint);
// another way to do this is to use:
// canvas.drawColor(Color.WHITE);
// draw blue circle with antialiasing turned on
paint.setAntiAlias(true);
paint.setColor(Color.BLACK);
canvas.drawCircle(x, y, 11, paint);
canvas.drawCircle(x-11, y+19, 11, paint);
canvas.drawCircle(x, y+38, 11, paint);
canvas.drawCircle(x+20, y+30, 11, paint);
canvas.drawCircle(x-11, y-19, 11, paint);
paint.setColor(Color.RED);
canvas.drawCircle(x+41, y+30, 11, paint);
canvas.drawCircle(x+20, y+9, 11, paint);
canvas.drawCircle(x-23, y-37, 11, paint);
canvas.drawLine(0, 300 , 320, 300, paint);
}
}
}
使用viewFlipper在一個Activity中切換視圖,使用都是以錯誤的方式進行,請參見[here](http://oudomvilla.wordpress.com/2010/08/08/android-switching-screens-in-an-activity-with-animations-using-viewflipper /) – 2012-03-17 10:42:02
anand thaks但我想顯示動畫,然後hw我應該這樣做。我想顯示一些然後消失,然後再次顯示在視圖中。 – Ashishsingh 2012-03-17 16:22:58