Android之旅-2-Toast的使用

介绍

Toas是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间之后自动消失,并且不会占用任何屏幕空间。

效果图:

Android之旅-2-Toast的使用_第1张图片

Tips: 可以看到系统默认Toast采用的是队列的方式, 等当前Toast消失后, 下一个Toast才能显示出来;如果多次点击,会浪费时间排着队重复显示,我们可以优化一下默认的Toast,优化代码下面给出。

直接上代码,说明写在代码注释里

 public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.btn1:
                /*
                 *使用默认Toast
                 * 点击几次就会一个接一个的按顺序出现
                 * 等队列中的Toast处理完,显示Toast的任务才算结束。
                 */
                Toast.makeText(this, "默认Toast", Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn2:
                /*
                *使用优化后的Toast
                *只创建一个Toast
                */
                ToastUtils.showToast(this,"优化后的Toast");
                break;
            case R.id.btn3:
                /*
                * 自定义Toast
                * 自定义布局
                * 自定义位置
                */
                //布局解析器解析自定义布局
                View toastView = LayoutInflater.from(this).inflate(R.layout.toast_layout01,null);
               // ImageView imageView = toastView.findViewById(R.id.picture);
                //创建Toast实列
                Toast toast = new Toast(this);
                //Toast加载布局toastView
                toast.setView(toastView);
                //设置位置居中,xy偏移量为0
                toast.setGravity(Gravity.CENTER,0,0);
                //设置显示时长
                toast.setDuration(Toast.LENGTH_SHORT);
                //显示Toast
                toast.show();
                break;
        }
    }

优化的Toast代码

public class ToastUtils {

    private static Toast toast;
    /**
     * 解决Toast多次点击之后重复显示的问题
     */
    public static void showToast(Context context, String content){

        if (toast == null){
            toast = Toast.makeText(context, content, Toast.LENGTH_SHORT);
        } else {
            toast.setText(content);
        }
        toast.show();
    }

}

kee

你可能感兴趣的:(AndroidStudio,android,android,studio)