android Toast设置弹框大小

在一般的android开发中我们一般弹出一些提示信息,例如 已打开蓝牙,wifi之类的提示,我们都是会选择Toast进行弹出。今天我们的客户提出们应用弹出提示太小,用户不注意的情况下,容易被忽略掉,要弹出的宽度填充整个屏幕,首先想到是不是需要自定义Toast,经过自己的一番研究后,发现不需要自定Toast,用现有的Toast就可以轻松实现了。
public void showToast(Context conext,String str){
if(mToast ==null){
Log.i(“showToast”,”showToast…….”);
mToast = Toast.makeText(conext, null, Toast.LENGTH_SHORT);
mToast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout toastView = (LinearLayout)mToast.getView();
WindowManager wm = (WindowManager)conext.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
tv=new TextView(this);
toastView.setBackgroundResource(R.mipmap.bg);
tv.setTextSize(40);
toastView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 180);
tv.setLayoutParams(params);
mToast.setView(toastView);
toastView.addView(tv);
}
tv.setText(str);
mToast.show();
}
就可以实现下面的效果。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/songmingzhan/article/details/73693441