Toast的内容过长,如何居中?

今天遇到项目里一个问题,当toast的内容过长的时候.

系统会将内容拆分多行然后靠左显示.

显然这个不是很合乎我们的视觉效果.

那如何居中呢?

查了相关文档之后可以toast的时候添加下面的代码去toast,就可以了.

或者直接调用下面的方法.

    public static void showToastCenter(Context context, String toastStr) {
        Toast toast = Toast.makeText(context.getApplicationContext(), toastStr, Toast.LENGTH_SHORT);
        int tvToastId = Resources.getSystem().getIdentifier("message", "id", "android");
        TextView tvToast = ((TextView) toast.getView().findViewById(tvToastId));
        if(tvToast != null){
            tvToast.setGravity(Gravity.CENTER);
        }
        toast.show();
    }

当然你也可以弄个静态变量Toast,去加上面的代码,然后调用,都可以


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在uniapp中自定义toast时,设置了image属性,但是图片显示不居中,可以通过在样式中设置background-position属性来调整图片位置。 以下是一个示例代码: ```html <template> <view class="container"> <button @tap="showToast">显示toast</button> </view> </template> <script> export default { methods: { showToast() { uni.showToast({ title: '自定义toast', icon: 'none', duration: 2000, image: '/static/custom-toast.png', mask: true, success: (res) => { console.log('toast显示成功', res) }, fail: (err) => { console.log('toast显示失败', err) }, complete: () => { console.log('toast显示完成') } }) } } } </script> <style> .container { display: flex; justify-content: center; align-items: center; height: 100vh; } /* 自定义toast样式 */ .custom-toast { background-image: url('/static/custom-toast.png'); background-repeat: no-repeat; background-size: 40px 40px; background-position: center 10px; /* 调整图片位置 */ padding: 60px 40px 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); font-size: 16px; color: #fff; text-align: center; } </style> ``` 在以上代码中,我们在样式中定义了一个.custom-toast类,其中设置了background-image、background-repeat、background-size和background-position属性,通过调整background-position属性的值,可以实现图片居中显示。 在uni.showToast()方法中,我们指定了一个自定义的类名,即className属性为'custom-toast',这样就可以应用我们自己定义的样式。 需要注意的是,如果自定义的toast样式中设置了padding属性,需要根据实际情况调整background-position属性的值,以确保图片居中显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值