gpt4 book ai didi

java - 如何在 2 秒内不允许用户交互

转载 作者:行者123 更新时间:2023-12-01 14:01:04 24 4
gpt4 key购买 nike

我正在尝试制作一个翻页卡应用程序,其中有显示相同图像的图像 GridView ,例如card_back。

单击每个图像时,它会翻转显示另一个图像,该图像对于 gridview 的每个项目都不同,例如card_front。

如果两张卡片显示其卡片正面图像,则 1 秒后两张卡片都会自动翻转以显示卡片背面。

我想做的是,在这1-2秒内,用户不应该能够单击任何其他项目。或者即使他单击,在这2秒内也不应该翻转任何卡片。如何才能我这样做。是否可以使用覆盖整个 gridview 的透明 View ,并使其仅在那 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;
}
}

});

最佳答案

也许这有帮助

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变量。我希望我能伸出援手!

关于java - 如何在 2 秒内不允许用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19345934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com