C虾仔笔记 - Toast吐司框

■Toast吐司框

1.概述:吐司控件用来显示提醒信息,没有焦点,也就没有对话框的互动,而且显示的时间有限。

            吐司虽好用,但是滥用也会影响用户体验。

            高版本的手机关闭通知权限后,吐司就再也看不到了。

            所以对于重要的提醒还是用其他方式实现。

            可以尝试使用Snackbar零食条达到相应的效果。

2.使用:

(1)简单提示的实现方法如下:

        Toast.makeText(XxxActivity.this, "吐司的文本内容", Toast.LENGTH_LONG).show(); 

        注意,别忘了调用show()方法。

(2)自定义吐司:

  1)、创建Toast对象(构造器/makeText()静态方法):

               Toast toast = Toast.makeText(XxxActivity.this, "吐司的文本内容", Toast.LENGTH_LONG);

  2)、设置对齐方式、页边距等:

               toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM , 0, 0);  // 设置显示位置
               // 部分自定义:处理原布局以及添加、改变控件
               LinearLayout layout = (LinearLayout) toast.getView(); // 获取根布局
               layout.setBackgroundColor(Color.BLUE);
               ImageView iv = new ImageView(this);
               image.setImageResource(R.mipmap.ic_toast);
               layout.addView(iv,0); // 添加图片
               TextView tv = (TextView) toast.getView().findViewById(android.R.id.message); // 获取文本框

               tv.setTextColor(Color.YELLOW); //设置字体颜色
               // 完全自定义:引用外面定义好的布局
               LayoutInflater inflater = getLayoutInflater();
               View llRoot = inflater.inflate(R.layout.layout_toast,null);
               ImageView ivLogo = (ImageView) llRoot.findViewById(R.id.iv_logo);
               TextView tvMsg = (TextView) llRoot.findViewById(R.id.tv_msg);
               tvMsg.setText(str);
               toast.setView(llRoot);

  3)、调用show()方法才能显示。

               toast.show();

3.应用:

有帮助性的一般操作说明(提醒);对于非常重要的提醒,建议以其他方式实现。

你可能感兴趣的:(Android,-,View)