Android~Toast使用

     在android开发中Toast是比较常用的消息提示框,接下来我们看看Toast的用法。

1.一般用法

通常我们使用Toast的方法是:Toast.makeText

Toast.makeText

该方法很简单:Toast.makeText(Context,"默认的Toast",Toast.LENGTH_LONG).show();

这样就可以显示一个Toast啦。


2.自定义位置用法

有时候我们的消息提示框未必在底部显示的,有可能需要在顶部提示~~那么该怎么使用才能令Toast显示在顶部呢?

//这一步跟上面的写法差不多
Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT); 
toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); 
toast.show();//第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶 
//第二第三个参数分别为toast在x,y上的偏移量 //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示 

 

3.带图片的Toast

有时候光是文字的Toast提示框已经满足不了我们了~还需要图片~

那么接下来我们看一下怎么样把图片加上去

Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000); 
 toast.setGravity(Gravity.CENTER, 0, 0); 
  //创建图片视图对象 
  ImageView imageView= new ImageView(getApplicationContext()); 
 //设置图片 
 imageView.setImageResource(R.drawable.ic_launcher); 
  //获得toast的布局 
 LinearLayout toastView = (LinearLayout) toast.getView(); 
  //设置此布局为横向的 
 toastView.setOrientation(LinearLayout.HORIZONTAL); 
 //将ImageView在加入到此布局中的第一个位置 
 toastView.addView(imageView, 0); 
 toast.show(); 


4.自定义Toast

LayoutInflater inflater = getLayoutInflater(); 
  //通过制定XML文件及布局ID来填充一个视图对象 
View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast)); 
 
ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast); 
//设置图片
image.setImageResource(R.drawable.ic_launcher); 
//生成textview对象
TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); 
//设置标题 
title.setText("标题栏"); 

TextView text = (TextView) layout.findViewById(R.id.tvTextToast); 
设置内容 
text.setText("完全自定义Toast"); 

Toast toast= new Toast(getApplicationContext()); 
toast.setGravity(Gravity.CENTER , 0, 0); 
toast.setDuration(Toast.LENGTH_LONG); 
toast.setView(layout); 
toast.show(); 


5.在其他线程调用Toast

toas在主线才能够使用~为什么?相信大家都知道android的ui只能在主线程运行。那么我们在别的线程想用到toast怎么办呢?

我们可以使用handler~至于不熟悉handler的童鞋~~自己去百度吧~尴尬


最后提一下Toast的使用技巧:

在开发过程中必然会大量使用到toast,那么每个地方都写一大串代码明显是不可行的,就算是最简单的Toast.makeText()也每次都要传三个参数。那么我们如何简化toast的使用呢?

方法一:

我们可以在activity的基类封装toast,在开发中我们常常会有一个activity的基类。那么我们的toast可以写在这个地方

方法二:

定义一个工具类,该工具类里有一个静态调用toast的方法


public static void showToast(String str){

if (mToast == null) {
mToast = Toast.makeText(getApplicationContext(), str,Toast.LENGTH_LONG);
} else {
mToast.setText(str);
}
mToast.show();
}


 那么我们只需要:类名.showToast("Test"); 

就可以调用了,相比每次都要传三个参数最后还要调用一下show()的用法,是不是方便很多呢?

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值