最近开发中,采用小米4来测试,由于升级了系统,突然发现,小米手机toast都会带应用名称,这点很不爽,非常影响体验,各种百度,也是看了一些大神的方法以后,自己写了一个通用的Toast类,在这里记录一下,方便以后调用。
ShowToast.java 类,用于显示Toast,同时解决小米手机上toast带应用名称问题,修改后亲测有效。
public class ShowToast {
public Context mContext;
public static void ShowShorttoast(Context context,String text){
Toast mToast = null;
if (mToast == null) {
mToast=Toast.makeText(context,null,Toast.LENGTH_SHORT);
mToast.setText(text);
} else {
//如果当前Toast没有消失, 直接显示内容,不需要重新设置
mToast.setText(text);
}
mToast.show();
}
public static void ShowShorttoast(Context context,int textid){
Toast mToast = null;
String text = context.getResources().getString(textid);
if (mToast == null) {
mToast=Toast.makeText(context,null,Toast.LENGTH_SHORT);
mToast.setText(text);
} else {
//如果当前Toast没有消失, 直接显示内容,不需要重新设置
mToast.setText(text);
}
mToast.show();
}
public static void ShowLongtoast(Context context,String text){
Toast mToast = null;
if (mToast == null) {
mToast=Toast.makeText(context,null,Toast.LENGTH_LONG);
mToast.setText(text);
} else {
//如果当前Toast没有消失, 直接显示内容,不需要重新设置
mToast.setText(text);
}
mToast.show();
}
public static void ShowLongtoast(Context context,int textid){
Toast mToast = null;
String text = context.getResources().getString(textid);
if (mToast == null) {
mToast=Toast.makeText(context,null,Toast.LENGTH_LONG);
mToast.setText(text);
} else {
//如果当前Toast没有消失, 直接显示内容,不需要重新设置
mToast.setText(text);
}
mToast.show();
}
}
重点主要就是这几行代码:
if (mToast == null) {
mToast=Toast.makeText(context,null,Toast.LENGTH_SHORT);
mToast.setText(text);
} else {
//如果当前Toast没有消失, 直接显示内容,不需要重新设置
mToast.setText(text);
}
搞定~