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的扩展使用今天就先到这吧~
欢迎交流学习