我想知道如何显示toast programmaticaly。当我从数据库中读取数据时,即使文本的长度很小或更大,我也只能在短时间内看到吐司。但是我希望看到吐司可以看得更久(至少持续3-5秒)。
答案 0 :(得分:1)
这样的事情可能适合您的需求:
String stringFromDatabase = "your string";
if (stringFromDatabase.length()<200){
Toast.make(context, stringFromDatabase, Toast.LENGTH_SHORT).show();
}else{
Toast.make(context, stringFromDatabase, Toast.LENGTH_LONG).show();
}
这将显示您的Toast短期或长时间,具体取决于您的字符串的长度。
答案 1 :(得分:1)
Toast显示如下。
Toast.makeText(getApplicationContext(), textToDisplay,
Toast.LENGTH_LONG).show();
参数Toast.LENGTH_LONG表示它应该显示为long。可能需要将其更改为LENGTH_LONG。
答案 2 :(得分:0)
如果要长时间显示消息,则必须实现自定义Toast。 LENGTH_SHORT和LENGTH_LONG的值为0和1.它们没有指定时间量。
答案 3 :(得分:0)
不幸的是,可以显示Toast的最长时间是3.5秒(对于LENGTH_LONG,而LENGTH_SHORT是2秒)。
如果你想要一个较短的吐司,你可以在暂停后取消它 - 例如:
final Toast toast = Toast.makeText(getApplicationContext(), "your string", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 500);
将显示500毫秒。
对于较长的消息,您必须一个接一个地显示几个祝酒词,或者选择其他方法来传达您的消息