从零开始学android编程之Toast提示信息框
程序员文章站
2022-07-14 13:50:06
...
Toast类可以在程序界面上显示一个简单的提示信息,这个提示信息框用于向用户生成简单的提示信息。
1 创建包含信息的提示框
通过Toast类的静态方法makeText()创建信息提示框,该提示框中包含了指定的信息。该方法的格式为
public static Toast makeText(Context context, CharSequence text, int duration);
其中,参数context表示了使用该提示框的上下文;text指定了显示的提示信息;duration指定该提示信息显示的时间。该方法的返回值是创建的信息提示框。
Toast.makeText(this, "Toast text, normal", Toast.LENGTH_SHORT);
其中,this表示该Activity的上下文,Toast.LENGTH_SHORT是Toast类的静态成员,表示提示框显示比较短的时间,该值是默认值。该方法的返回值是创建的Toast信息提示框。
2 显示信息提示框
通过Toast类的show()方法显示信息提示框。该方法一般与“1 创建包含信息的提示框”中提到的makeText()在一起使用。
Toast.makeText(this, "Toast text, normal", Toast.LENGTH_SHORT).show();
以上代码的作用是在指定的时间内显示“Toast text, normal”信息提示框。如图1所示。
图1 正常信息提示框
3 设置提示框的位置
可以为提示框设置指定位置,如屏幕底部或者屏幕垂直的中点等;也可以为信息提示框设置任意的位置。
3.1 为提示框设置指定位置
通过Toast类的setGravity()方法设置信息提示框的位置。该方法的格式为
public void setGravity(int gravity, int xOffset, int yOffset);
其中,参数gravity指定了信息提示框的位置,xOffset和yOffset分别表示距离指定位置gravity的横纵偏移量。
Toast t2=Toast.makeText(this, "Toast text with specific position", Toast.LENGTH_LONG);
t2.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM, 0, 10);
t2.show();
其中,setGravity()方法的第1个参数表示信息提示框位于屏幕水平中间并且位于底部。如图2所示。
图2 设置了指定位置的信息提示框
3.2 为信息提示框设置任意的位置
通过Toast类的setMargin()方法设置信息提示框设置任意的位置。该方法的格式为
public void setMargin(float horizontalMargin,float verticalMargin);
其中,参数horizontalMargin表示容器边缘到信息提示框水平的距离,用容器宽度的百分比表示;verticalMargin容器边缘到信息提示框垂直的距离,用容器高度的百分比表示。
Toast t3=Toast.makeText(this, "Toast text with specific margin and position", Toast.LENGTH_SHORT);
t3.setMargin(0f, 0.8f);
t3.show();
其中,setMargin()方法的第一个参数表示容器边缘到信息提示框的水平距离为0,第二个参数0.8f表示容器边缘到信息提示框的垂直距离是容器高度的80%。如图3所示。
图3 设置了任意位置的信息提示框