根据应用程序布局的不同,我们可能需要将Toast显示在其他位置,比如,在指定视图的顶部显示一个Toast。请看如下图所示的例子:
在这个例子中,我们定义了4个Button,分别分布在界面的四角上,当点击Button时,会在Button所在位置的角落显示一个Toast。
要将Toast移到屏幕其他地方,就需要以不同的方式创建Toast。Toast中有一个公共方法,其方法签名如下:
public void setGravity(int gravity, int xOffset, int yOffset);
要显示上图所示的Toast,需要使用如下代码:
//创建Toast
Toast toast = Toast.makeText(this, "Bottom Right!", Toast.LENGTH_SHORT);
//设置gravity属性,以改变默认位置
toast.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
toast.show();
虽然例子看起来简单,但是有很多开发者并不知道这点。尤其是当界面被分成不同的Fragment,并且希望Toast显示在指定的位置,开发者就会发现更改Toast的位置是很有用的。