Android自定义Toast样式(附工具类)
程序员文章站
2022-03-10 15:26:31
Android自定义Toast样式(附工具类)效果图:工具类ToastUtil.javaToastUtil.javapublic class ToastUtil { /** * Toast类型 */ public static enum Type{ // 成功 SUCCEED, // 错误 ERROR, // 信息,通常 POINT, // 警告...
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
上一篇: java二叉树的非递归遍历
推荐阅读
-
Android自定义网络连接工具类HttpUtil
-
Android开发中总结的Adapter工具类【附完整源码下载】
-
Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕操作】
-
android开发教程之实现toast工具类
-
荐 Android开发实战《手机安全卫士》——6.“高级工具”模块拓展 & 自定义Toast
-
自定义Toast工具类ToastUtil防止多次点击时Toast不消失的方法
-
Android自定义圆形图片工具类(CTRL+C加CTRL+V直接使用)
-
超简单实现Android自定义Toast(附源码)
-
Android工具类-Toast相关工具
-
超实用的android自定义log日志输出工具类