各种杂项组件(1)之--Toast(提示框)

Toast(提示框):

1.概述:

这是android提高的提醒方式,会在一段时间自动消失。 没有焦点,显示时间有限但不会打断用户的操作。
Toast不依赖于某个界面,它依赖于应用程序Application。

2.使用:

<1>有一个弹出Toast的触发点,例如按钮
通过findViewById(R.id.button_1)关联到布局中的按钮
<2>给按钮加点击事件;’
<3>在点击事件中利用:
Toast.makeText(FirstActivity.this,”弹出的信息”,Toast.LENGTH_SHORT).show();
分析:使用Toast中的静态方法makeText()创建对象,然后调用其show()方法。makeText()传入的三个参数(Toast要求的上下文,要显示的信息,显示的时长【可选择的两个参数:.LENGTH_SHORT和LENGTH_LONG】)
或者,第一个参数为getApplicationContext(),因为它依赖于应用程序Application。
<4>setGravity(int gravity,x偏移量,y偏移量);//设置Toast显示的位置。
注:左上角为原点0处。第一个参数可以是Gravity.位置(CENTER,LEFT,RIGHT),偏移量是指相对这个位置的偏移。

3.延伸功能:

1)makeText()创建提示后,更改的方法:
setText(); //更改文本
setDuration();//更改显示时间
setGravity();//更改显示的位置
注:一定是先用了makeText()。
2)加入富文本
富文本最简单的方式,获取图片时:

注:用富文本如果填入图片,一定要设置图片的大小。
富文本范例:
这是一个简单的富文本,获得不同的字,和图片,图片是固定的:
1>获得Spanned。利用Html.fromHtml(,,)方法
2>setText()添加

Toast toast = Toast.makeText(getApplicationContext(), "这是个提示", Toast.LENGTH_SHORT);
            toast.show();
            toast.setGravity(Gravity.LEFT|Gravity.CENTER, 100, 0);
            Spanned spanned = Html.fromHtml("我是<img src=''/>一个<font color='#55ff0000'>富文本</font>", new Html.ImageGetter() {

                @Override
                public Drawable getDrawable(String arg0) {//返回一张图片,但必须设置图片大小
                    Drawable drawable = getResources().getDrawable(R.drawable.liyifeng);
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                    return drawable;
                }
            }, null);
            toast.setText(spanned);

结果演示;
各种杂项组件(1)之--Toast(提示框)_第1张图片

4.简单Toast范例:

各种杂项组件(1)之--Toast(提示框)_第2张图片
结果演示:
各种杂项组件(1)之--Toast(提示框)_第3张图片

5.自定义Toast

步骤:
1)自定义的Toast布局
2)点击事件中:
new Toast—->利用layoutinflater获得view——>setView()—->setDuration()【可以不设置】—–>show().

Toast mytoast = new Toast(getApplicationContext());

            LayoutInflater flater = getLayoutInflater();
            View toastView = flater.inflate(R.layout.mytoast, null);
            TextView textViewToast = (TextView) toastView.findViewById(R.id.textView_toast);
            textViewToast.setText("我是一个自定义的Toast");

            mytoast.setView(toastView);
            mytoast.setDuration(Toast.LENGTH_LONG);
            mytoast.show();

结果演示:
各种杂项组件(1)之--Toast(提示框)_第4张图片

你可能感兴趣的:(日历,应用)