您的位置:首页 > 移动开发 > Android开发

Toast总结一

2016-09-19 19:37 344 查看
1.说到android toast大家应该知道,就是吐丝的效果,最常见的代码实现是下面两种:

1、Toast.makeText(getApplicationContext(),"显示内容",Toast.LENGTH_LONG).show();

2、ToasttoastToast.makeText(getApplicationContex(),"显示内容",Toast.LENGTH_SHORT);

toast.setGravity(Gravity.TOP,0,0);

toast.show();

上面代码的getApplicationContext():上下文(如activity);


 
      Toast.LENGTH_LONG:表示显示的时间(较长);


 
      Toast.LENGTH_SHORT:表示显示的时间(较短);


 
    (Gravity.TOP,0,0)三个参数分别表示:起点位置,水平向右位移(向左为负数),垂直向下位移(向上为负数)。


2.Toast的代码还可以分开写:

Toast toast = new Toast(AppContextUtils.getAppContext());
toast.setDuration(Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);

toast.show();

toast.show()是在你要显示的地方去调用;

3.我们还可以自定义布局来显示显示的内容:

private static Toas
4000
t sToast;

public static void showWarnToast(String text) {
View view = View.inflate(AppContextUtils.getAppContext(), R.layout.toast_view_prompt, null);
TextView tv = (TextView) view.findViewById(R.id.tv_toast_prompt);
tv.setText(text);
tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.toast_show_warn, 0, 0, 0);

Toast toast = getToast(view);
toast.show();
}

private static Toast getToast(View view) {

if (sToast == null) {
Toast toast = new Toast((getApplicationContext());
toast.setDuration(Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
sToast = toast;
}
sToast.setView(view);
return sToast;
}


上面代码我们对sToast进行了判空处理,这样做有个好处:避免了每次都创建对象,如果前一次的toast效果还没有

结束,那么这样写就能保证用户看到就是一个toast显示界面,只有当前一个显示效果消失了后一个才会显示;如果没有进行判空

(也就是单例)那么就会出现连续的闪烁;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  toast android