美文网首页
自定义Toast[宽度全屏、高度自定义,不同时显示]

自定义Toast[宽度全屏、高度自定义,不同时显示]

作者: 小强开学前 | 来源:发表于2020-04-10 11:27 被阅读0次

    Nice nice.

    先看效果


    Gif_20200410_110623.gif
      package com.github.john.test
    
    import android.content.Context
    import android.graphics.Color
    import android.view.Gravity
    import android.view.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    import android.view.ViewGroup.LayoutParams.MATCH_PARENT
    import android.widget.FrameLayout
    import android.widget.TextView
    import android.widget.Toast
    import androidx.annotation.StringRes
    import androidx.core.content.ContextCompat
    
    class TopToast(val context: Context) :Toast(context){
    
        private var topText: String = ""
        private val museView: TextView = TextView(context).apply {
            setBackgroundColor(Color.parseColor("#BB725A7C"))
            gravity = Gravity.CENTER
            setTextColor(ContextCompat.getColor(context, android.R.color.white))
            setTextIsSelectable(false)
            layoutParams = FrameLayout.LayoutParams(MATCH_PARENT, MuseUtil.newDp2px(40f))
        }
    
        init {
            view = FrameLayout(context).apply {
                addView(museView)
                systemUiVisibility = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            }
            setGravity(Gravity.TOP+Gravity.FILL_HORIZONTAL, 0, MuseUtil.newDp2px(64f))
        }
    
        fun setTopText(text:String):TopToast{
            topText = text
            return this
        }
        fun setTopText(@StringRes stringRes:Int):TopToast{
            topText = context.getString(stringRes)
            return this
        }
    
        override fun getDuration(): Int = LENGTH_SHORT
    
        override fun show() {
            museView.text = topText
            super.show()
        }
    
    }
    

    调用的时候,可以

    var myToast:TopToast? = null
    
    fun toast(){
      myToast?.cancel()
      myToast = TopToast(this)
      myToast.setText().show()
    }
    

    完美。

    相关文章

      网友评论

          本文标题:自定义Toast[宽度全屏、高度自定义,不同时显示]

          本文链接:https://www.haomeiwen.com/subject/caynphtx.html