Toast的各类用法大全(有Demo)

在安卓用户交互开发中Toast深受广大开发者喜爱,大多通过makeText方法返回对象显示,却没有深入研究这个对象,其实他还有很多强大功能


1.正常显示

		
            //注意: 使用的时候新手容易将.show()漏掉, 不使用该方法Toast是不会显示的
		
            Toast.makeText(getApplicationContext(), btnName[0], Toast.LENGTH_SHORT).show();



2.自定位置显示

	
		//使用.setGravity()这个方法可以设置Toast的位置和偏移量 	
		
		Toast toast = Toast.makeText(getApplicationContext(), btnName[1], Toast.LENGTH_LONG);
		toast.setGravity(Gravity.CENTER, 0, 0);
		toast.show();
	


3.带图片显示

	
		//获取toas的tView,利用addView()添加图片显示
		
		Toast toast = Toast.makeText(getApplicationContext(), btnName[2], Toast.LENGTH_LONG);
		toast.setGravity(Gravity.CENTER, 50, 0);
		LinearLayout layout = (LinearLayout) toast.getView();
		ImageView image = new ImageView(getApplicationContext());
		image.setImageResource(R.drawable.ic_launcher);
		layout.addView(image, 0);
		toast.show();
	


4.自定View显示


		LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
		View view = inflater.inflate(R.layout.view_toast, null, false);
		Toast toast = new Toast(getApplicationContext());
		toast.setGravity(Gravity.CENTER, 0, 0);
		toast.setDuration(Toast.LENGTH_SHORT);
		toast.setView(view);
		toast.show();


5.长时间显示

	{
		//直接自定义AlertDialog显示即可

		LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
		View view = inflater.inflate(R.layout.view_toast, null, false);
		builder = new AlertDialog.Builder(this);
		builder.setView(view);
		dialog = builder.create();
		dialog.show();
	}

其实这个已经不属于Toast这个对象了,但是我们却可以通过他实现我们想要的


6. 定时显示

	AlertDialog.Builder builder;
	AlertDialog dialog;
	
	/**** 长时间显示  ****/
	protected void startToast5()
	{
		//直接自定义AlertDialog显示即可

		LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
		View view = inflater.inflate(R.layout.view_toast, null, false);
		builder = new AlertDialog.Builder(this);
		builder.setView(view);
		dialog = builder.create();
		dialog.show();
	}

	//定时显示
	protected void startToast6()
	{
		//通过Timer指定时间销毁弹出窗口即可实现
		
		long time = 1000; // 此时间以毫秒记
		
		startToast5();
		Timer timer = new Timer();
		timer.schedule(new TimerTask() 
		{
			@Override
			public void run() 
			{
				//到指定时间Kill掉AlertDialog即可
				dialog.dismiss();
			}
		}, time);
		
	}	

我就不上图了,不明白的童鞋去下载Demo吧, 地址: download.csdn.net/detail/u010058586/7898195




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值