下午好,
如何在 Android 上不使用 Toast 的情况下显示几秒钟的消息?
例如,如果用户登录良好,那么我想显示“用户登录成功”之类的消息会在 X 秒内消失。
我该怎么办?
非常感谢你
下午好,
如何在 Android 上不使用 Toast 的情况下显示几秒钟的消息?
例如,如果用户登录良好,那么我想显示“用户登录成功”之类的消息会在 X 秒内消失。
我该怎么办?
非常感谢你
final Handler handler = new Handler();
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("FooBar !");
final AlertDialog dialog = builder.create();
dialog.show();
handler.postDelayed(new Runnable() {
public void run() {
dialog.dismiss();
}
}, 3000); // Dismiss in 3 Seconds
试试这个...
while(needToDisplayData)
{
displayData(); // display the data
Thread.sleep(10000); // sleep for 10 seconds
}
或者,您可以使用计时器:
int delay = 1000; // delay for 1 sec.
int period = 10000; // repeat every 10 sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
displayData(); // display the data
}
}, delay, period);
在显示数据()中;方法你可以使用一个对话框。
如果您不希望“确定”按钮关闭消息,您可以将其设置为 ProgressDialog,然后在几秒钟后自行关闭它......
ProgressDialog pd;
pd = ProgressDialog.show(context, "Title", "sub title");//context is probably `this`
Handler h= new Handler();
Runnable cancelDialog = new Runnable(){
pd.dismiss();
};
h.postDelayed(cancelDialog, 3000);//this will be called in 3 seconds
您可以将各种调用分配给任何相关的方法或按钮按下。我会将 ProgressDialog、Handler 和 Runnable 设置为您的 Activity 全局,以便您可以从任何地方进行这些调用。
我会争辩说,使用 ProgressDialog 会给用户一种感觉,这种感觉会自行消失,否则,他们会盯着一个不可“解雇”的提示,并且对如何继续感到困惑。
您可以使用PopupWindow像 Toast 一样显示按摩而不阻塞当前 UI。但是您需要使用带有runOnUiThread的线程 在 X 秒后关闭 PopupWindow。
请参阅使用弹出窗口的示例
http://android-er.blogspot.in/2012/03/example-of-using-popupwindow.html