Toast
Toast就是显示一个提示信息,它没有焦点,不接受点击事件。主要掌握Toast.makeText(), toast.setGravity()(位置定位),toast.setDuration()(时间设置),toast.setView()(在自定义的Toast中用)的用法。这里主要有三种设计模式:1)简单模式。2)富文本模式。3)插入图片的模式4)自定义模式。
1)简单模式
简单模式是最基本的模式:可以进行最基本的显示:
代码如下:
Toast toast= Toast.makeText(getApplicationContext(), "hello world", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.LEFT,0,0);
toast.show();
getApplicationContext()是获得Application的Context。”hello world”是要显示的内容。Toast.LENGTH_SHORT是显示的时长,有两种可以选择short,long。 toast.setGravity(Gravity.LEFT,0,0);是设置显示的方位。可以用“|”进行多次的设置,0,0是偏移x轴和y轴的值。
最后不要忘记 toast.show();这条代码。
结果
富文本模式
Toast还可以接受富文本格式的内容。可以使显示的内容更加丰富多彩。
建立spanned文件,这就是富文件,用toast.setText(spanned);将富文件传入,就得到了你所设置的富文件。代码如下:
Toast toast=Toast.makeText(getApplicationContext(),"hehh",Toast.LENGTH_SHORT);
Spanned spanned = Html.fromHtml("我<img src=''>是一个<font color='#ff0000'>富文本</font>", new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable drawable=getResources().getDrawable(R.mipmap.caomei);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
return drawable;
}
}, null);
toast.setText(spanned);
toast.show();
这里的富文本不做过多的介绍,前面已经讲过;结果如下:
可以看到是一个很漂亮的Toast.
插入图片的模式
在插入图片的时候可以通过获得Toast的布局文件来在布局文件中加入各种控件的形式来完成各种富文本的一些操作,步骤如下:
1)获得toast的布局并将其强制造型为LinearLayout布局。
2)创建一个ImageView
3)在ImageView中加载一张图片
4)将ImageView加到布局中,并将其置于第一的位置
5)显示
代码如下:
Toast toast = Toast.makeText(getApplicationContext
(),"hehe",Toast.LENGTH_SHORT);
//1)获得toast的布局并将其强制造型为
LinearLayout
LinearLayout toast_view= (LinearLayout)
toast.getView();
//2)创建一个ImageView
ImageView image = new ImageView
(getApplicationContext());
// image.setImageResource
(R.mipmap.ic_launcher);
//3)在ImageView中加载一张图片
image.setImageDrawable(getResources
().getDrawable(R.mipmap.ic_launcher));
//4)将ImageView加到布局中,并将其置于第一的位置
toast_view.addView(image,0);
toast.show();
结果如下: