美文网首页
自定义Toast

自定义Toast

作者: 5e1b18effb55 | 来源:发表于2017-06-05 15:37 被阅读0次

默认的Toast不能满足所有开发使用,所以抛出一个可以自定义布局与位置的Toast
首先Toast的画出布局toast.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/toaststyle"
    android:orientation="vertical">

    <TextView
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="10dp"
        android:shadowColor="#BB000000"
        android:shadowRadius="2.75"
        android:textColor="@android:color/white" />

</LinearLayout>

在drawable文件夹下指定布局背景样式(也可以不指定)toaststyle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#666" />
    <!-- 描边 -->
    <stroke
        android:width="0.33dp"
        android:color="#dedede" />
    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />
</shape>

布局和样式都是可以自己定义的
然后就是Java代码了(CustomToast.java)

import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;

/**
 * Created by jiangtao on 2017/6/5 14:35
 * E-mail:3305727299@qq.com
 */
public class CustomToast {

    public static void makeText(Context context, String message) {
        View view = LayoutInflater.from(context).inflate(R.layout.toast, null);
        ((TextView) view.findViewById(R.id.message)).setText(message);
        Toast toastStart = new Toast(context);
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        int height = wm.getDefaultDisplay().getHeight();
        toastStart.setGravity(Gravity.TOP, 0, height / 3);
        toastStart.setDuration(Toast.LENGTH_LONG);
        toastStart.setView(view);
        toastStart.show();
    }
}

OK,一个自定义布局样式的Toast就完成了

相关文章

  • Toast(自定义Toast)

    默认的Toast: 自定义Toast(自定义图标样式\显示时间\位置): 效果图: 代码:

  • Toast和AlertDialog通用工具

    (1)自定义Toast (2)自定义对话框 (3)二合一 这里涉及到Toast, 使用Toast之前必须先判断是否...

  • Apicloud功能模块使用customToast

    /*Title: customToastDescription: 自定义Toast,让Toast更完美的融入应用,...

  • Tween实战-Toast动画

    自定义Toast 这里并不是创建一个自定义Toast,而是把toast添加到一个window中,对这个window...

  • Android——Toast

    三、使用 1.Toast使用技巧 Toast使用技巧 (1)自定义 Toast 布局 (2)使用 Applicat...

  • Android 自定义Toast

    Android自定义Toast Toast的基础用法 Toast显示的位置通常情况下Toast显示在整个界面的底部...

  • ToastUtil工具类

    自定义toast,解决系统toast连续弹出,长时间不消失的问题

  • Android 带图片的Toast

    Android 带图片的Toast Github代码 带图片的Toast,其实就是自定义布局的Toast,只要T...

  • 自定义小火箭

    ####自定义归属地的Toast 1. 在构造方法,构建Toast的params > 这段代码是从Toast的内部...

  • Android菜鸟起飞|Toast的高级使用

    Toast高级用法之设置带图片的Toast和自定义Toast 虽然google推出了更加美观实用的snackBar...

网友评论

      本文标题:自定义Toast

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