Toast大家都知道了,是一个在不影响用户正常使用下的信息提示工具,但默认的Toast只能显示文字,是否有点单一呢,能不能显示带图像的Toast呢。

不怕想不到,答案是肯定的,那就show一下吧。

private void showToast() {
		// 1 创建Toast
		Toast toast = Toast.makeText(this, "图文显示,是不是有点^_^", Toast.LENGTH_LONG);

		// 2 创建Layout,并设置为水平布局
		LinearLayout mLayout = new LinearLayout(this);
		mLayout.setOrientation(LinearLayout.HORIZONTAL);
		ImageView mImage = new ImageView(this); // 用于显示图像的ImageView
		mImage.setImageResource(R.drawable.icon);

		View toastView = toast.getView(); // 获取显示文字的Toast View

		mLayout.addView(mImage); // 添加到Layout
		mLayout.addView(toastView);

		// 3 关键,设置Toast显示的View(上面生成的Layout).
		toast.setView(mLayout);
		toast.show();
	}
是不是有点简单,这里只是一个简单的LinearLayout,是否可以显示一个更加复杂的View呢……
除了可以让Toast显示图像外,我们还可以更改Toast的默认显示的位置方法为:
toast.setGravity(gravity, xOffset, yOffset);

 

Ok,Toast的扩展使用今天就先到这吧~

欢迎交流学习


posted on 2010-07-07 17:09  深挖三尺  阅读(829)  评论(0编辑  收藏  举报