在一般的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(); } 就可以实现下面的效果。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。