Android 7.0.2自定义Toast显示时间 通过longclick触发,显示100秒,setDuration不好使
时间: 2023-12-03 14:42:40 浏览: 63
Android Toast 的默认显示时间为短时间(2秒)和长时间(3.5秒),而且不能设置超过这个时间。如果你想要自定义显示时间,可以考虑使用自定义的布局来实现。
具体实现步骤如下:
1. 创建一个自定义的布局文件,例如 toast_layout.xml,布局中添加一个 TextView 控件用于显示提示信息。
2. 在需要触发 Toast 的长按事件的地方,通过 LayoutInflater 将布局文件转换为 View 对象,并使用 Toast 来显示。
3. Toast 显示时不需要设置时间,只需要在需要关闭的时候调用 cancel 方法即可。
示例代码:
```
// 加载自定义布局
View layout = getLayoutInflater().inflate(R.layout.toast_layout, null);
TextView text = (TextView) layout.findViewById(R.id.toast_text);
text.setText("自定义Toast");
// 初始化Toast
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER, 0, 0);
toast.setView(layout);
// 长按事件触发显示Toast
button.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
toast.show();
// 延迟100秒关闭Toast
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 100000); // 100秒
return true;
}
});
```
阅读全文