Android自定义Toast样式(附工具类)
效果图:
工具类ToastUtil.java
ToastUtil.java
public class ToastUtil {
/**
* Toast类型
*/
public static enum Type{
// 成功
SUCCEED,
// 错误
ERROR,
// 信息,通常
POINT,
// 警告
WARNING;
}
/**
* 系统的Toast
*
* @param info
*/
public static void showToast(String info){
Toast.makeText(App.getContext(), info, Toast.LENGTH_SHORT).show();
}
/**
* 各种类型的 Toast
*
* @param info
* @param type
*/
public static void showCus(String info, Type type){
Toast toast = new Toast(App.getContext());
View view = null;
switch (type){
case POINT:
// 提示型Toast
view = LayoutInflater.from(App.getContext()).inflate(R.layout.layout_toast_point, null);
break;
case SUCCEED:
// 操作成功Toast
view = LayoutInflater.from(App.getContext()).inflate(R.layout.layout_taost_succeed, null);
break;
case ERROR:
// 错误Toast
view = LayoutInflater.from(App.getContext()).inflate(R.layout.layout_toast_error,null);
break;
case WARNING:
// 警告Toast
view = LayoutInflater.from(App.getContext()).inflate(R.layout.layout_toast_warning,null);
break;
default:
break;
}
if(view != null) {
TextView tv = view.findViewById(R.id.toast_info);
tv.setText(info);
toast.setDuration(Toast.LENGTH_SHORT);
// 这里是修改Toast的显示位置
// toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, 120);
toast.setView(view);
toast.show();
}else {
showToast(info);
}
}
用到的四种布局:
(提示型)layout_toast_point.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_toast_point"
>
<ImageView
android:id="@+id/img"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/point"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
/>
<TextView
android:id="@+id/toast_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示型"
android:textColor="#ffffff"
android:paddingTop="11dp"
android:paddingBottom="12dp"
android:paddingRight="11dp"
android:paddingLeft="5dp"
android:textSize="15sp"
android:layout_toRightOf="@+id/img"
android:layout_centerVertical="true"
/>
</RelativeLayout>
(操作成功型)llayout_taost_succeed.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_toast_succeed"
>
<ImageView
android:id="@+id/img"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/succeed"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
/>
<TextView
android:id="@+id/toast_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="asdadasdasdasdasdasdsa"
android:textColor="#ffffff"
android:paddingTop="11dp"
android:paddingBottom="12dp"
android:paddingRight="11dp"
android:paddingLeft="5dp"
android:textSize="15sp"
android:layout_toRightOf="@+id/img"
android:layout_centerVertical="true"
/>
</RelativeLayout>
(错误型)layout_toast_error.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_toast_error"
>
<ImageView
android:id="@+id/img"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/error"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
/>
<TextView
android:id="@+id/toast_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="asdadasdasdasdasdasdsa"
android:textColor="#ffffff"
android:paddingTop="11dp"
android:paddingBottom="12dp"
android:paddingRight="11dp"
android:paddingLeft="5dp"
android:textSize="15sp"
android:layout_toRightOf="@+id/img"
android:layout_centerVertical="true"
/>
</RelativeLayout>
(警告型)layout_toast_warning.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_toast_warning"
>
<ImageView
android:id="@+id/img"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/warning"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
/>
<TextView
android:id="@+id/toast_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="asdadasdasdasdasdasdsa"
android:textColor="#ffffff"
android:paddingTop="11dp"
android:paddingBottom="12dp"
android:paddingRight="11dp"
android:paddingLeft="5dp"
android:textSize="15sp"
android:layout_toRightOf="@+id/img"
android:layout_centerVertical="true"
/>
</RelativeLayout>
本文地址:https://blog.csdn.net/C_biubiubiu/article/details/110660819