2012-12-16 110 views
0

如何在Android中每1秒顯示一次ImageView,然後隱藏它1秒鐘並再次顯示1秒,無限期重複?我嘗試使用下面的技術。我只是一個新手。在android中每隔1秒隱藏一次imageview,並顯示1秒

ImageView v=(ImageView)findViewbyID(R.id.mypic); 
Date d=new Date(); 
SimpleDateFormat sdf=new SimpleDateFormat("ss"); 
if(sdf.format(d)%2==0) 
    v.setVisibility(View.INVISIBLE); 

上面的代碼只是使圖像不可見並且不會連續運行。

回答

0
public Void Handle { 
    new Handler().postDelayed(new Runnable() { 
    boolean visible = true; 
     public void run() { 
     final ImageView v = (ImageView)findViewById(R.id.mypic); 

     if(visible) 
      v.setVisibility(View.INVISIBLE); 
     else 
      v.setVisibility(View.VISIBLE); 

       } 
    }, 100); 

     Handle(); 
} 
1

嘗試使用倒數計時器

new CountDownTimer(300000, 1000) { 

    boolean visible = true; 
    public void onTick(long millisUntilFinished) { 
      ImageView v=(ImageView)findViewbyID(R.id.mypic); 
      if(visible) 
       v.setVisibility(View.INVISIBLE); 
      else 
       v.setVisibility(View.VISIBLE); 

      visible = !visible; 
    } 

    public void onFinish() { 

    } 
    }.start(); 

或者你甚至可以使用一個處理器

Handler handler=new Handler() 
    { 
     boolean visible = true; 
     @Override 
     public void handleMessage(Message msg) 
     { 
       ImageView v=(ImageView)findViewbyID(R.id.mypic); 
       if(visible) 
        v.setVisibility(View.INVISIBLE); 
       else 
        v.setVisibility(View.VISIBLE); 

      visible = !visible; 
     handler.sendEmptyMessageDelayed(0, 1000); 

     } 
    }; 
    handler.sendEmptyMessage(0); 
+0

我推薦一個基本的處理程序,它會無限期地運行,並能更準確。 (給予好評) – Sam

相關問題