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

  • Post author:
  • Post category:其他


先上要求效果图

代码:

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);
}

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



版权声明:本文为qq_36355271原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。