自定义Toast 吐出我的风格

来源:互联网 发布:基数排序算法 编辑:程序博客网 时间:2024/05/01 11:10

第一步,创建一个Toast将要展示的View


<?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:orientation="horizontal"       android:padding="8dp"                    android:background="#DAAA"      android:id="@+id/toast_layout_root">        <ImageView       android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginRight="8dp"      android:id="@+id/iv"      />  <TextView android:id="@+id/text"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:textColor="#FFF"      />  </LinearLayout>  
第二步, 编写一个工具类

/** * Created by ruiyi on 2016/5/27. */public class ToastUtils {    private static ToastUtils toastUtils;    private Toast toast;    private ToastUtils(){    }    public static ToastUtils createToastConfig(){        if (toastUtils==null) {            toastUtils = new ToastUtils();        }        return toastUtils;    }    public void ToastShow(Context context,ViewGroup root,String tvString){        View layout = LayoutInflater.from(context).inflate(R.layout.toast_xml,root);        TextView text = (TextView) layout.findViewById(R.id.tv);        ImageView mImageView = (ImageView) layout.findViewById(R.id.iv);        mImageView.setBackgroundResource(R.drawable.ic_launcher);        text.setText(tvString);        text.setTextColor(R.color.green_01);        toast = new Toast(context);        toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);        toast.setDuration(Toast.LENGTH_LONG);        toast.setView(layout);        toast.show();    }}

第三步,使用

<pre name="code" class="java">ToastUtils createToastConfig().ToastShow(MainActivity.this, (ViewGroup)findViewById(R.id.toast_layout_root), "你好");


就这样

0 0