0


安卓开发场景之自定义提示框

文章目录

来源:由于我们在各种前端框架时都会有提示框,于是我想在安卓的效果也实现这个效果
icon:https://www.iconfont.cn/
在这里插入图片描述

一 效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二 代码部分

2.1 定义Shape文件

<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solidandroid:color="#FFFFFFFF"/><cornersandroid:radius="6dp"/></shape>

2.2 定义布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"><!-- 自定义布局 --><LinearLayoutandroid:background="@drawable/my_toast"android:layout_width="wrap_content"android:layout_height="40dp"><!-- 图标--><ImageViewandroid:id="@+id/alter_icon"android:layout_margin="10dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/alter_success"/><!-- 提示文字--><TextViewandroid:id="@+id/tv_toast"android:layout_width="wrap_content"android:layout_height="40dp"android:textSize="16sp"android:textColor="#4CAF50"android:layout_marginTop="10dp"android:layout_marginEnd="10dp"android:paddingEnd="10dp"/></LinearLayout></LinearLayout>

2.3 代码文件

packagecom.shu.Utils;importandroid.content.Context;importandroid.content.res.ColorStateList;importandroid.graphics.Color;importandroid.util.Log;importandroid.view.Gravity;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.widget.ImageView;importandroid.widget.TextView;importandroid.widget.Toast;importcom.shu.R;/**
 * @Author shu
 * @Version 1.0
 * @Date: 2022/04/17/ 20:26
 * @Description 自定义Toast
 **/publicclassMyToastUtils{protectedstaticToast toast=null;/**
     * 成功提示
     * @param context
     * @param message
     */publicstaticvoidshowSuccessToast(Context context,String message){View view =LayoutInflater.from(context).inflate(R.layout.customtoast,null);TextView showText=view.findViewById(R.id.tv_toast);ImageView imageView= view.findViewById(R.id.alter_icon);
        toast=newToast(context);//创建toast实例
        toast.setView(view);//设置布局
        showText.setText(message);// 消息
        showText.setTextColor(Color.parseColor("#4CAF50"));// 颜色
        imageView.setImageResource(R.drawable.alter_success);// 图标
        toast.setDuration(Toast.LENGTH_SHORT);//设置toast的显示时间
        toast.setGravity(Gravity.TOP,0,10);
        toast.show();}/**
     * 警告提示
     * @param context
     * @param message
     */publicstaticvoidshowWarningToast(Context context,String message){View view =LayoutInflater.from(context).inflate(R.layout.customtoast,null);TextView showText=view.findViewById(R.id.tv_toast);ImageView imageView= view.findViewById(R.id.alter_icon);
        toast=newToast(context);//创建toast实例
        toast.setView(view);//设置布局
        showText.setText(message);// 消息
        showText.setTextColor(Color.parseColor("#F95710"));// 颜色
        imageView.setImageResource(R.drawable.alter_wran);// 图标
        toast.setDuration(Toast.LENGTH_SHORT);//设置toast的显示时间
        toast.setGravity(Gravity.TOP,0,10);
        toast.show();}/**
     * 信息提示
     * @param context
     * @param message
     */publicstaticvoidshowInfoToast(Context context,String message){View view =LayoutInflater.from(context).inflate(R.layout.customtoast,null);TextView showText=view.findViewById(R.id.tv_toast);ImageView imageView= view.findViewById(R.id.alter_icon);
        toast=newToast(context);//创建toast实例
        toast.setView(view);//设置布局
        showText.setText(message);// 消息
        showText.setTextColor(Color.parseColor("#2D8CEF"));// 颜色
        imageView.setImageResource(R.drawable.alter_info);// 图标
        toast.setDuration(Toast.LENGTH_SHORT);//设置toast的显示时间
        toast.setGravity(Gravity.TOP,0,10);
        toast.show();}/**
     * 错误提示
     * @param context
     * @param message
     */publicstaticvoidshowErrorToast(Context context,String message){View view =LayoutInflater.from(context).inflate(R.layout.customtoast,null);TextView showText=view.findViewById(R.id.tv_toast);ImageView imageView= view.findViewById(R.id.alter_icon);
        toast=newToast(context);//创建toast实例
        toast.setView(view);//设置布局
        showText.setText(message);// 消息
        showText.setTextColor(Color.parseColor("#FD6483"));// 颜色
        imageView.setImageResource(R.drawable.alter_error);// 图标
        toast.setDuration(Toast.LENGTH_SHORT);//设置toast的显示时间
        toast.setGravity(Gravity.TOP,0,10);
        toast.show();}}

2.4 使用

packagecom.shu;importandroidx.appcompat.app.AppCompatActivity;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.View;importcom.shu.Utils.MyToastUtils;publicclassAlterActivityextendsAppCompatActivity{privateContext context;@OverrideprotectedvoidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_alter);
        context=getApplicationContext();}publicvoidsuccessAlter(View view){MyToastUtils.showSuccessToast(context,"这是成功消息");}publicvoiderrorAlter(View view){MyToastUtils.showErrorToast(context,"这是错误消息");}publicvoidwarningAlter(View view){MyToastUtils.showWarningToast(context,"这是警告消息");}publicvoidinfoAlter(View view){MyToastUtils.showInfoToast(context,"这是消息");}}

本文转载自: https://blog.csdn.net/weixin_44451022/article/details/124237284
版权归原作者 长安不及十里 所有, 如有侵权,请联系我们删除。

“安卓开发场景之自定义提示框”的评论:

还没有评论