Android 自定义Toast显示View

1、创建一个tosat显示的布局文件:toast_custom.xml

XML 复制代码
<?xml version="1.0" encoding="utf-8"?>
<com.hjq.shape.layout.ShapeLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingVertical="@dimen/dp_20"
    android:paddingHorizontal="@dimen/dp_30"
    app:shape_radius="@dimen/dp_10"
    app:shape_solidColor="#B3000000">


    <ImageView
        android:id="@+id/toast_icon"
        android:layout_width="@dimen/dp_56"
        android:layout_height="@dimen/dp_56"
        android:src="@mipmap/toast_icon" />


    <TextView
        android:id="@+id/toast_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="保存成功"
        android:textColor="@color/white"
        android:textSize="16sp" />
</com.hjq.shape.layout.ShapeLinearLayout>

2.通过代码显示出来:

Kotlin 复制代码
  private fun showToast(text : String = "保存成功") {
        Toast(applicationContext).apply {
            duration = Toast.LENGTH_SHORT
            view = layoutInflater.inflate(R.layout.toast_custom, null)
            val tv = view?.findViewById<TextView>(R.id.toast_text)
            tv?.text = text
            show()
        }
    }

直接调用方法就行!

相关推荐
叶羽西1 小时前
Android Studio IDE环境配置
android·ide·android studio
发飙的蜗牛'2 小时前
23种设计模式
android·java·设计模式
花追雨11 小时前
Android -- 双屏异显之方法一
android·双屏异显
小趴菜822711 小时前
安卓 自定义矢量图片控件 - 支持属性修改矢量图路径颜色
android
氤氲息11 小时前
Android v4和v7冲突
android
KdanMin11 小时前
高通Android 12 Launcher应用名称太长显示完整
android
chenjk411 小时前
Android不可擦除分区写文件恢复出厂设置,无法读写问题
android
袁震11 小时前
Android-Glide缓存机制
android·缓存·移动开发·glide
工程师老罗11 小时前
Android笔试面试题AI答之SQLite(2)
android·jvm·sqlite
User_undefined13 小时前
uniapp Native.js 调用安卓arr原生service
android·javascript·uni-app