2013-10-13 23 views
0

我正在嘗試做一個flipcard應用程序,其中有gridview的圖像顯示相同的圖像,說card_back。如何不允許用戶交互2秒

單擊每個圖像時,它會翻轉顯示另一個圖像,該圖像對於每個gridview項目(例如card_front)都是不同的。

如果2張卡片正在顯示他們的card_front圖片,則每秒1秒都會自動翻轉以顯示card_back。

我想要做的是在這1-2秒內,用戶不應該能夠點擊任何其他items.or即使他點擊,沒有卡應該在2秒內翻轉。如何我可以這樣做嗎。是否可以使用覆蓋整個gridview的透明視圖,並使其僅在2秒內可見。有人請幫助我。

gridview.setOnItemClickListener(new OnItemClickListener() 
     { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
      { 
       pos=position; 

       findViewById(R.id.view1).setBackgroundColor(getResources().getColor(android.R.color.transparent)); 


       switch(flippedCardCounter) 
       { 

       case 0: 
        flippedCardCounter++; //increase counter 
        v1=v; 
        startFlipAnimation(imageView,v1); 
        break; 
       //flippedCardCounter = 1 -> one card flipped 
       case 1: 
        flippedCardCounter++; //increase counter 
        v2=v; 
        startFlipAnimation(imageView,v2); 
        im1=((ViewHolder) v1.getTag()).img; 
        im2=((ViewHolder) v2.getTag()).img; 

         Handler handler = new Handler(); 
         handler.postDelayed(new Runnable() { 
          public void run() { 
           startUnflipAnimation(im1,v1); 
          startUnflipAnimation(im2,v2); 
          } 
         },1000); 
         break; 
       //flippedCardCounter = 2 -> hide two flipped card, flip one card 
       case 2: 
        flippedCardCounter = 0; 
        flippedCardCounter++; //increase counter 
        startFlipAnimation(imageView,v); 
        v1=v2=v; 
        break; 
      } 
       } 

       }); 
+0

感謝編輯(改進/調試)答案:),我擁有你一杯咖啡。 – 2013-10-13 18:12:33

回答

1

也許這幫助

public class MyClass{ 
.... 
private volatile boolean isLock=false; 


gridview.setOnItemClickListener(new OnItemClickListener() 
     { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
      { 
if(isLock){return;} 
       pos=position; 

       findViewById(R.id.view1).setBackgroundColor(getResources().getColor(android.R.color.transparent)); 


       switch(flippedCardCounter) 
       { 

       case 0: 
        flippedCardCounter++; //increase counter 
        v1=v; 
        startFlipAnimation(imageView,v1); 
        break; 
       //flippedCardCounter = 1 -> one card flipped 
       case 1: 
        flippedCardCounter++; //increase counter 
        isLock=true; 
        v2=v; 
        startFlipAnimation(imageView,v2); 
        im1=((ViewHolder) v1.getTag()).img; 
        im2=((ViewHolder) v2.getTag()).img; 

         Handler handler = new Handler(); 
         handler.postDelayed(new Runnable() { 
          public void run() { 
          //////////////////////// 

          //////////////////////// 
           startUnflipAnimation(im1,v1); 
          startUnflipAnimation(im2,v2); 
           isLock=false; 
          } 
         },1000); 

         break; 
       //flippedCardCounter = 2 -> hide two flipped card, flip one card 
       case 2: 
        flippedCardCounter = 0; 
        flippedCardCounter++; //increase counter 
        startFlipAnimation(imageView,v); 
        v1=v2=v; 
        break; 
      } 
       } 

       }); 

.... 
} 

您可以在任何地方設置isLock變量,你想禁用時鐘。我希望我可以放手!

+0

你能幫我解決隨機隨機洗牌的問題嗎? –

+0

它有多少圖片?並保持它們像'List'這樣的變量嗎?! – 2013-10-13 18:24:07

+0

它有12個總圖像.ie。其中6個重複兩次。它在imageadapter活動中聲明爲公共靜態Integer [] mThumbSelected = R.drawable.a,R.drawable.b, R.drawable.c,R.drawable.d, R R.drawable.a,R.drawable.b, R.drawable.c,R.drawable.d, R.drawable.e,R.drawable.f }; –

相關問題