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);
本文作者:wservices 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow