1,其实大家都知道,Toast的生命周期不是伴随着activity的,toast是系统的windowsmanager创建的。要向window窗口显示view, wm.addView(view, params);
接受两个参数,view和param
其中:view :toast的view其实是一个文本框(可以带背景图片)比如
view = View.inflate(this, R.layout.toast_address, null);
TextView tv_address = (TextView) view.findViewById(R.id.tv_address);(自定义显示样式)
tv_address.setText(address);(弹出内容)
param:param需要设置显示框的长宽高,比如
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
还可以设置透明度:params.format = PixelFormat.TRANSLUCENT;半透明
最后声明类型是toast的 params.type = WindowManager.LayoutParams.TYPE_TOAST;
这样一个窗口生成了