Android 在运行时更改图像
我现在可以在按OnTouch时更改图像,例如,我按image1使其不可见并显示其下方的图像 现在我想在运行时更改一个映像,基本上我有一个数组,如果array[i]=5;那么我想让image5不可见 我怎么能做到这一点呢?我试了一下Android 在运行时更改图像,android,android-layout,Android,Android Layout,我现在可以在按OnTouch时更改图像,例如,我按image1使其不可见并显示其下方的图像 现在我想在运行时更改一个映像,基本上我有一个数组,如果array[i]=5;那么我想让image5不可见 我怎么能做到这一点呢?我试了一下 try{ Thread.sleep(2000); } catch { } 它会使屏幕变黑,然后在2秒钟后显示背景,但我从来没有看到图像变得不可见 我希望能够做这样的事情 for(int i=0;i < array.length; i
try{
Thread.sleep(2000);
}
catch
{
}
它会使屏幕变黑,然后在2秒钟后显示背景,但我从来没有看到图像变得不可见
我希望能够做这样的事情
for(int i=0;i < array.length; i++)
{
if(array[i] == 1)
{
try
{
Thread.sleep(1000);
ImageView image = (ImageView)findById(myImage01);
image.setVisibility(View.INVISIBLE);
Thread.sleep(1000);
image.setVisibility(View.VISIBLE);
}
catch(InterruptedException e)
{
}
}
for(int i=0;i
}
你明白了。。。现在,如果我这样做,它将使屏幕变黑,然后返回主布局,而不执行任何操作:(
先谢谢你
我在Android中是新手(请考虑:())
让我看看我是否正确地理解了这一点。你试图通过打开一个图像来显示一个图像,图像放在上面,看不见? 似乎更简单的方法是更改实际图像的图像视图,您的视图将变为不可见image.setImageResource(R.drawable.<image>)
image.setImageResource(R.drawable.)
在此处,您可以更改为放置在res/drawable hdpi/mdpi/ldpi文件夹中的图像的名称。让我看看我是否正确理解了这一点。您试图通过将放置在图像上方的图像变为不可见来显示图像吗 似乎更简单的方法是更改实际图像的图像视图,您的视图将变为不可见
image.setImageResource(R.drawable.<image>)
image.setImageResource(R.drawable.)
您可以在其中更改放置在res/drawable hdpi/mdpi/ldpi文件夹中的图像名称。Thread.sleep()是一个坏主意,因为它会停止线程。因此,如果是UI线程,它将无法再刷新屏幕。这可能是您观察到的情况。使用类似于
new Handler().postDelayed(new Runnable() {
void run() {
image.setVisibility(View.VISIBLE);
}
}, 1000);
Thread.sleep()是一个坏主意,因为它会停止线程。因此,如果它是UI线程,它将无法再刷新屏幕。这可能是您观察到的情况。请使用
new Handler().postDelayed(new Runnable() {
void run() {
image.setVisibility(View.VISIBLE);
}
}, 1000);
这听起来不错,但是当使用Thread.sleep时屏幕会变黑吗?:(我猜它会变黑,因为UI线程处于睡眠状态。这听起来不错,但是当使用Thread.sleep时屏幕会变黑吗?:(我猜是因为UI线程处于睡眠状态,所以它会变黑。如果在myView类中,我将在何处实现此功能?您可以创建一个方法
switchImage
,用于切换图像可见性或更改图像。然后在处理程序的run
方法中调用switchImage
。您还可以调用Handler.postDela你可以创建一个方法switchImage
,用于切换图像可见性或更改图像。然后你可以在处理程序的run
方法中调用switchImage
。你还可以在那里再次调用Handler.postdayed。