安卓 让Toast 一直显示
时间: 2023-11-28 17:47:44 浏览: 42
如果您想要让 Toast 消息一直显示,可以使用 LENGTH_LONG 参数来显示 Toast 消息。
但是,为了避免占用用户屏幕的空间过长时间,建议您不要让 Toast 消息一直显示。而是在适当的时候自动消失或者由用户手动关闭。
以下是一个设置 Toast 消息显示时间的示例代码:
```java
Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG).show();
// 5秒后隐藏Toast
final Toast toast = Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 5000);
```
这个示例代码会在屏幕上显示一个 Toast 消息,并在 5 秒后自动消失。
相关问题
安卓 让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 等组件来替代。
安卓 长按某按钮 让Toast 一直显示
您可以通过以下步骤实现在长按某个按钮时让 Toast 消息一直显示:
1. 在您的布局文件中添加一个按钮,例如:
```xml
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="长按我显示 Toast" />
```
2. 在您的 Activity 中获取该按钮的实例,并设置长按监听器:
```java
Button myButton = findViewById(R.id.my_button);
myButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast toast = Toast.makeText(getApplicationContext(), "长按了按钮", Toast.LENGTH_SHORT);
toast.show();
return true;
}
});
```
3. 在长按监听器的回调方法中创建并显示一个 Toast 消息,并将返回值设置为 true,以指示该事件被消费,防止触发其他点击事件。
如果您想要让 Toast 消息一直显示,可以将 Toast 的持续时间设置为 Toast.LENGTH_LONG,并在需要时手动取消 Toast 的显示。例如:
```java
final Toast toast = Toast.makeText(getApplicationContext(), "长按了按钮", Toast.LENGTH_LONG);
toast.show();
myButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// 取消之前的 Toast 显示
toast.cancel();
// 创建新的 Toast 并显示
Toast newToast = Toast.makeText(getApplicationContext(), "长按了按钮", Toast.LENGTH_LONG);
newToast.show();
return true;
}
});
```
在这个例子中,我们首先创建了一个 Toast 消息,并将其设置为长时间显示。然后,在按钮的长按监听器中,我们取消之前的显示,并创建一个新的 Toast 消息来显示。这样,当用户长按按钮时,Toast 消息会一直显示,直到被手动取消或显示时间到期。