Android 自定义 Toast 带图标 可修改位置

先上要求效果图 

代码:

public class ToastUtil  {


    public static void toast(String s){
        Toast.makeText(context,s,Toast.LENGTH_SHORT).show();
    }


    private static TextView mTextView;
    private static ImageView mImageView;

    public static void showToast(String message,int imag) {
        //加载Toast布局
        View toastRoot = LayoutInflater.from(context).inflate(R.layout.toast, null);
        //初始化布局控件
        mTextView = (TextView) toastRoot.findViewById(R.id.message);
        mImageView = (ImageView) toastRoot.findViewById(R.id.imageView);
        //为控件设置属性
        mTextView.setText(message);
        if(imag==0){
            mImageView.setVisibility(View.GONE);
        }else {
            mImageView.setImageResource(imag);
        }

        //Toast的初始化
        Toast toastStart = new Toast(context);
        //获取屏幕高度
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        int height = wm.getDefaultDisplay().getHeight();
        //Toast的Y坐标是屏幕高度的1/3,不会出现不适配的问题
        toastStart.setGravity(Gravity.TOP, 0, height / 4);
        toastStart.setDuration(Toast.LENGTH_SHORT);
        toastStart.setView(toastRoot);
        toastStart.show();
    }
}

使用:

if(objectBaseArrayBean.getCode().equals("200")){
    v.updateLastEquipmentSuccess();
    ToastUtil.showToast(objectBaseArrayBean.getMessage(),R.mipmap.success_icon);
}else {
    ToastUtil.showToast(objectBaseArrayBean.getMessage(),R.mipmap.error_icon);
}

个人笔记。注释比较全就不详述。

猜你喜欢

转载自blog.csdn.net/qq_36355271/article/details/92617616