大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
在一般的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();
}
就可以实现下面的效果。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194429.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...