Android 7.0.2自定义Toast显示时间 通过longclick触发,显示200秒,setDuration不好使
时间: 2023-12-03 12:42:29 浏览: 63
在 Android 中,Toast 的默认显示时间是 3.5 秒,如果你想要自定义显示时间,可以使用 Handler 定时让 Toast 消失。以下是一个示例代码:
```java
// 定义一个 Toast
final Toast toast = Toast.makeText(getApplicationContext(), "Long click to show toast", Toast.LENGTH_LONG);
// 给 View 设置长按监听器
view.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// 显示 Toast
toast.show();
// 延时 200 秒让 Toast 消失
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 200000);
return true;
}
});
```
在上面的代码中,我们通过 `new Handler().postDelayed()` 方法实现了定时让 Toast 消失的功能。`200000` 表示延时 200 秒,也就是让 Toast 显示 200 秒。
注意,如果你在 `show()` 方法中传递的时间参数是 `Toast.LENGTH_LONG` 或者 `Toast.LENGTH_SHORT`,那么对于这个 Toast,你只能通过 `cancel()` 方法来取消它,而不能使用 `setDuration()` 方法来改变它的显示时间。因此,你需要在 `show()` 方法中传递一个较大的时间参数,然后使用 `postDelayed()` 方法来控制 Toast 的显示时间。
阅读全文