安卓 让Toast 一直显示
时间: 2023-10-22 09:04:53 浏览: 93
在 Android 中,Toast 默认会在屏幕上显示 2 秒钟左右,如果你希望 Toast 一直显示,可以使用 `Toast.LENGTH_LONG` 参数并将其改为一个很大的值,如:
```java
Toast toast = Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 10000); // 10秒后取消Toast
```
在这个例子中,我们使用 `Toast.LENGTH_LONG` 参数并将其设置为 10 秒钟,然后使用 `Handler` 延迟 10 秒后取消 Toast 的显示。这样就可以让 Toast 一直显示了。
相关问题
安卓 让Toast 长按一直显示
默认情况下,Toast 显示的时间很短且不可交互,如果你想要让 Toast 长按一直显示,可以通过如下方式实现:
1. 创建一个 Toast 对象并显示出来。
```java
Toast toast = Toast.makeText(getApplicationContext(), "Hello World!", Toast.LENGTH_SHORT);
toast.show();
```
2. 获取 Toast 的 View 对象,并为其添加长按事件监听器。
```java
View toastView = toast.getView();
toastView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// 长按事件处理逻辑
return true;
}
});
```
3. 在长按事件处理逻辑中,取消 Toast 自动消失的计时器。
```java
toastView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// 取消自动消失
toast.cancel();
// 长按事件处理逻辑
return true;
}
});
```
这样就可以让 Toast 长按一直显示了。注意,如果用户点击了 Toast,它还是会消失的。如果需要让 Toast 永久显示,可以考虑使用 Dialog 或 PopupWindow 等组件来替代。
android :让Toast一直显示的解决方法
如果你想让Toast一直显示,可以使用`Toast.LENGTH_LONG`或`Toast.LENGTH_SHORT`来延长Toast的显示时间,但这并不会让Toast一直显示。如果你想让Toast一直显示,可以使用自定义Toast的方法。
以下是一个自定义Toast的示例代码:
```java
// 创建一个Toast对象
Toast toast = new Toast(context);
// 设置Toast显示的位置
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
// 设置Toast显示的持续时间为无限长
toast.setDuration(Toast.LENGTH_LONG);
// 创建一个布局,用于显示Toast的内容
LinearLayout layout = new LinearLayout(context);
layout.setBackgroundColor(Color.BLACK);
// 创建一个TextView对象,用于显示Toast的文本内容
TextView textView = new TextView(context);
textView.setTextColor(Color.WHITE);
textView.setTextSize(20);
textView.setText("这是一个自定义的Toast!");
// 将TextView添加到布局中
layout.addView(textView);
// 将布局添加到Toast中
toast.setView(layout);
// 显示Toast
toast.show();
```
你可以根据需要自定义Toast的布局和内容。
阅读全文