安卓10 Toast自定义时长
时间: 2023-11-28 08:50:53 浏览: 88
在 Android 10 上,Toast 的默认显示时间是 2 秒钟,而且不能通过 API 直接设置显示时间。如果你想要自定义 Toast 的显示时间,可以使用 Handler 在指定时间后将 Toast 取消。你可以按照以下步骤进行操作:
1. 创建一个 Handler 对象
```java
Handler handler = new Handler();
```
2. 在 showToast() 方法中,使用 handler.postDelayed() 方法来延迟取消 Toast 的时间
```java
public void showToast(Context context, String message, int duration) {
Toast toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
toast.show();
handler.postDelayed(() -> {
toast.cancel();
}, duration);
}
```
在这个示例中,我们将 Toast 的显示时间传递给 showToast() 方法,然后使用 handler.postDelayed() 方法延迟取消 Toast 的时间。当时间到达时,我们调用 Toast.cancel() 方法取消 Toast 的显示。
3. 调用 showToast() 方法,传递自定义的显示时间
```java
showToast(this, "Hello World!", 5000);
```
在这个示例中,我们传递了 5000 毫秒(即 5 秒钟)作为显示时间。
请注意,这种方法可能会导致一些问题,例如当用户在 Toast 显示期间离开应用程序时,Toast 可能会一直保持显示状态。因此,建议在使用时谨慎考虑。
阅读全文