安卓 长按某按钮 让Toast 一直显示
时间: 2023-11-28 21:48:51 浏览: 149
android 解决Toast重复显示问题
5星 · 资源好评率100%
您可以通过以下步骤实现在长按某个按钮时让 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 消息会一直显示,直到被手动取消或显示时间到期。
阅读全文