Android 7.0.2自定义Toast显示时间 通过longclick触发,显示100秒,setDuration不好使、
时间: 2023-12-03 14:42:40 浏览: 94
如果`setDuration()`方法不起作用,可以尝试使用`Handler`和`Runnable`来实现自定义`Toast`显示时间。以下是一个示例代码:
```
final Toast toast = Toast.makeText(getApplicationContext(), "自定义Toast", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0); //设置Toast显示位置居中
//长按触发Toast显示100秒
Button button = findViewById(R.id.button);
button.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
toast.show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 100000); //100秒后隐藏Toast
return true;
}
});
```
在长按事件中,首先显示Toast,并通过`Handler`的`postDelayed()`方法延时100秒后取消Toast的显示。这样就可以实现自定义Toast的显示时间了。
阅读全文