Toast 是Android 系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,接下来就尝试一下如何在活动中使用Toast。
首先创建一个工程,因为需要定义一个弹出Toast 的触发点,所以在布局文件中添加一个按钮,代码如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
然后就是实现点击定义的按钮时候弹出一个Toast ,在MainActivity.java中onCreate中的实现
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
});
}
在活动中,可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传
入R.id.button1,来得到按钮的实例,这个值是刚才在activity_main.xml 中通过android:id 属性
指定的。findViewById()方法返回的是一个View 对象,我们需要向下转型将它转成Button
对象。得到了按钮的实例之后,我们通过调用setOnClickListener()方法为按钮注册一个监听
器,点击按钮时就会执行监听器中的onClick()方法。因此,弹出Toast 的功能当然是要在
onClick()方法中编写了。
Toast 的用法非常简单,通过静态方法makeText()创建出一个Toast 对象,然后调用show()
将Toast 显示出来就可以了。这里需要注意的是,makeText()方法需要传入三个参数。第一
个参数是Context,也就是Toast 要求的上下文,由于活动本身就是一个Context 对象,因此
这里直接传入MainActivity.this即可。第二个参数是Toast显示的文本内容,第三个参数是Toast
显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT 和Toast.LENGTH_LONG。
下面是演示的效果图