2015-09-06 12 views
1

我試圖做一個活動,其中我有一個按鈕3 ImageView的(imgv1,imgv2,imgv3)運行不同ImageViews。點擊按鈕後,第一個圖像(imgv1)會出現。並在2秒後,第二個imageview(img2)將出現2secs和第三imageview(imgv3)2secs。的Android ImageView的:在一定時間間隔

這裏有一段代碼,我正在使用處理程序。

 final Button btn = (Button) findViewById(R.id.button); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      img1.setVisibility(View.VISIBLE); 
      final Handler handler = new Handler(); 
      handler.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        img2.setVisibility(View.VISIBLE); 
       } 
      }, 2000); 


     } 
    }); 

現在我只能運行2個imageviews,我不知道如何運行第三個圖像。

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/image1" 
    android:visibility="gone" 
    android:src="@drawable/wh1" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" /> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/image2" 
    android:visibility="gone" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/wh2" /> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/image2" 
    android:visibility="gone" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/wh2" /> 
在我的xml文件

這裏我設置我的三個imageview的知名度了,所以當點擊按鈕時,他們只能是可見的。

如果有人有任何代碼示例,請幫助我。我見過很多一篇關於這個單一的ImageView改變圖像資源,但是這是不同於所以請幫助我..

回答

0

Activity聲明int計數。然後,你可以做這樣的事情:的

final Button btn = (Button) findViewById(R.id.button); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(final View v) { 
      count = 0; 
      final ImageView[] images = {(ImageView) findViewById(R.id.image1), (ImageView) findViewById(R.id.image2), (ImageView) findViewById(R.id.image3)}; 
      v.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        images[count].setVisibility(View.VISIBLE); 
        switch (count){ 
         case 0: 
          images[1].setVisibility(View.GONE); 
          images[2].setVisibility(View.GONE); 
          break; 
         case 1: 
          images[0].setVisibility(View.GONE); 
          images[2].setVisibility(View.GONE); 
          break; 
         case 2: 
          images[0].setVisibility(View.GONE); 
          images[1].setVisibility(View.GONE); 
          break; 
        } 
        count++; 
        if (count == 2) 
         v.removeCallbacks(this); 
        else 
         v.postDelayed(this, 2000); 

       } 
      }, 2000); 


     } 
    }); 
+0

先生它沒有工作,它只顯示image1。謝謝 – Dre

+0

現在試試吧,我忘了run()方法裏面的postDelayed了。 – yshahak

+0

它的工作原理!,謝謝先生,但我想停止時,它到達第三個圖像 – Dre

0

,而不是設置的3個圖像視圖的可視性可以使用單一的ImageView和使用setImageResource()方法或setImageBitmap()setImageDrawable()方法改變的ImageView的內容。

+0

是的,我見過很多關於改變內容的帖子。但我想要的是改變不同的想象,我打算把每個imagviews的音頻。謝謝 – Dre