Toast 高级一点的用法

在这里插入图片描述
Surprise!,是不是以为自己进错了,不是高级一点的用法,而是高级一点的做法😂,接下来进入正题。

Toast这个工具呢,无论是在项目还是demo中我们都会使用到,平时用到的只有在退出app的时候才会拦截提示一下(需要在主页面返回监听单独处理,事件我忘记,需要可以google下),因为他太丑了,但是丑不是问题,问题是丑但是不知道打理,那就是我的不对了😄。

这里说一下我之前经常犯的错误,在调用玩makeText这个静态方法之后记得调用show,
方法才会起到作用。

1.简单用法。

普通显示的这里就不放图了,这里要说的是 Toast这个类在不同的版本或者不同机型,
上显示的样式也是略微不同的,据我所知在7.0和9.0就有很大的差距。

 Toast.makeText(context,content,Toast.LENGTH_LONG).show()

2.自定用法


```kotlin
@SuppressLint("StaticFieldLeak")
//设置为单例模式,避免重复显示的问题
object ToastUtils {

//类中的内容为全局常量,所以这里的上下文可以在application中进行初始化

    private lateinit var toast: Toast
    private var context: Context? = null

    fun show(content: String = "Toast") {
        context?.let {
           
            toast = Toast.makeText(context, content, Toast.LENGTH_LONG)
                    .apply {
                    	//对样式的调整
                        setGravity(Gravity.CENTER, 0, 0)
                        view.setPadding(10, 5, 10, 5)
                        //自定义背景,drawable中的文件使用的是 shape
                        view.setBackgroundResource(R.drawable.shape_toast)
                        //自定义文字颜色,大小
                        val testMsg = view.findViewById<TextView>(android.R.id.message)
                        testMsg.setTextColor(Color.WHITE)
                        show()
                    }
        }

    }
	/**
	*初始化为全局的吐司
	*/
    fun init(context: Context) {
        ToastUtils.context = context
    }

}

这就是对Toast尽心简单的自定义,当然大家可以实现更加复杂的效果,具体怎么做,就要看自己的想象力了。


![在这里插入图片描述](https://img-blog.csdnimg.cn/20191120210416543.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1FpdVlhbmdBbmRaaGFuZw==,size_16,color_FFFFFF,t_70)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值