gpt4 book ai didi

android - 如何使 ImageView 可见、暂停 5 秒、不可见、暂停 5 秒等等

转载 作者:行者123 更新时间:2023-11-29 16:25:52 37 4
gpt4 key购买 nike

我有一个 imageView 并希望它像这样工作:

ImageViewer可见

5秒暂停

ImageView 不可见

5秒暂停

ImageViewer可见

等等...

我该怎么做?我试过 sleep ,但它会在 5 秒内卡住整个程序。我只想影响我的 imageView。

最佳答案

我不是 Android 程序员,但是,作为一般建议,我会说你应该在另一个线程上执行 sleep ,更好的说法是等待,并在等待期结束时在主线程上执行,一种切换 ImageView 可见性的方法。

进入更具体的细节,我会说你必须使用 Handler 对象,因为你不能在单独的线程中更新大多数 UI 对象。当您向处理程序发送消息时,它会被保存到队列中并尽快由 UI 线程执行:

public class MyActivity extends Activity {

// Handler needed for callbacks to the UI thread
final Handler mHandler = new Handler();

// Create runnable for posting
final Runnable mUpdateUIState = new Runnable() {
public void run() {
updateUIState();
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

[ . . . ]
}

protected void startToggle() {

// Fire off a thread to do the waiting
Thread t = new Thread() {
public void run() {
Thread.Sleep(5000);
mHandler.post(mUpdateUIState);
}
};
t.start();
}

private void updateUiState() {

// Back in the UI thread -- toggle imageview's visibility
imageview.setVisibility(1 - imageview.getVisibility());
}
}

或者,一个较短版本的 fragment ,

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() {
public void run() {
imageview.setVisibility(1 - imageview.getVisibility());
}
}, 5000);

使用 postDelayed 方法,将延迟合并到消息发布逻辑中。

关于android - 如何使 ImageView 可见、暂停 5 秒、不可见、暂停 5 秒等等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3745107/

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