第12讲- Android之消息提示Toast
第12讲 Android之消息提示Toast
1、Toast
Toast 是一个 View 视图,在应用程序上浮动显示少量的信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于向用户显示一些帮助和提示。
特点:1.没有焦点(无法用触屏或者鼠标的方式点击toast消息);
2.显示的时间有限,过一定的时间就会自动消失。
Toast 最常见的创建方式是使用静态方法
Toast.makeText(MainActivity.this,"hello!",Toast.LENGTH_LONG).show();
// 第一个参数:当前的上下文环境(Context类型)。可用getApplicationContext()或this(this指当前页面显示)
// 第二个参数:要显示的字符串。也可是R.string中字符串ID
// 第三个参数:指定显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms
Context提供了关于应用环境全局信息的接口。它是一个抽象类,它的实现由Android系统所提供。通过context我们可以加载资源,获取由android系统提供的一些服务类。
在android当中一般有两种context,1.application Context;2.activity Context
activity Context与applicationContext区别在于生命周期不一样,Activity Context生命周期更短。
2、设置toast位置:
方法一:setGravity(int gravity, int xOffset, int yOffset)
//第一个参数:设置toast在屏幕中显示的起点位置;
//第二个参数:相对于第一个参数设置toast位置的水平横向的偏移量,正数向右偏移,负数向左偏移;
//第三个参数:垂直方向的偏移量,正数向下偏移,负数向上偏移。
//如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示
方法二:setMargin(float horizontalMargin, float verticalMargin)
//以横向和纵向的百分比设置显示位置,参数均为float类型(水平位移正右负左,竖直位移正上负下)
Toast toast = Toast.makeText(MainActivity.this,"默认Toast样式", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0,0); //设置为居中显示
//toast.setGravity(Gravity.TOP |Gravity.LEFT, 0, 200); //设置Toast显示位置(起点位置,水平向右位移,垂直向下位移)
//toast.setMargin(-0.5f, 0f); //Toast显示位置,以横向和纵向的百分比计算
toast.show();
其中Gravity后缀可以改变,如Left, Right, Top等。后面的数字是相对偏移量。