Android 快别用Toast了,来试试Snackbar

=======

Toast提示默认显示在界面底部,使用Toast.setGravity()将提示显示在中间,如下:

Toast toast = Toast.makeText(this, str, Toast.LENGTH_SHORT);

toast.setGravity(Gravity.CENTER, 0, 0);

toast.show();

运行在在Android 12上无法显示,查看Logcat提示如下:

Toast: setGravity() shouldn’t be called on text toasts, the values won’t be used

意思就是:你不能使用toast调用setGravity,调用无效。哎呀,看给牛气的,咱看看源码找找原因

🔥 源码

=====

💥 Toast.setGravity()


/**

* 设置Toast出现在屏幕上的位置。

* 警告:从 Android R 开始,对于面向 API 级别 R 或更高级别的应用程序,此方法在文本 toast 上调用时无效。

*/

public void setGravity(int gravity, int xOffset, int yOffset) {

if (isSystemRenderedTextToast()) {

Log.e(TAG, “setGravity() shouldn’t be called on text toasts, the values won’t be used”);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,`Toast`是一个简单易用的小部件,用于在屏幕上显示短暂的信息或提示。它非常适合用于快速反馈用户的操作结果,比如网络请求成功或失败、数据加载完成等。以下是使用`Toast`的基本步骤: 1. 引入`Toast`库:在需要使用`Toast`的Activity或Fragment中,确保已导入`android.widget.Toast`。 ```java import android.widget.Toast; ``` 2. 创建Toast实例:在需要显示提示的地方,调用`Toast.makeText()`方法,传入要显示的上下文和消息字符串。 ```java String message = "这是一个提示信息"; Toast toast = Toast.makeText(getBaseContext(), message, Toast.LENGTH_SHORT); // 或者使用Context或Activity自身作为上下文 ``` 这里的`getBaseContext()`通常使用`getApplicationContext()`替代,因为它可以在没有Activity的情况下获取全局上下文。 3. 显示 Toast:调用`show()`方法来显示`Toast`。 ```java toast.show(); ``` 4. 控制显示时间:`Toast.LENGTH_SHORT`(默认)表示大约两秒后消失,`Toast.LENGTH_LONG`则更长一些。你可以根据需要选择。 如果你想自定义`Toast`的样式,如动画、图标等,可以通过创建一个新的布局文件并设置相关属性,然后将其设置为`Toast`的内容视图: ```java LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.custom_toast_layout, null); toast.setView(view); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值