随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
Android中的Toast是一种简易的消息提示框。和Dialog不一样的是,Toast是没有焦点的,toast提示框不能被用户点击,而且Toast显示的时间有限,toast会根据用户设置的显示时间后自动消失。
下面通过一个实例来演示Toast以及通知的使用:
package com.lovo;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class DialogActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获得发送消息的按钮组件Button btnToast = (Button) findViewById(R.id.btn_toast);btnToast.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 打开消息提示,LENGTH_LONG消息停留的时间长,LENGTH_SHORT消息停留的时间短Toast.makeText(DialogActivity.this, "hello", Toast.LENGTH_LONG).show();}});// 获得发送通知的按钮组件Button btnNotify = (Button) findViewById(R.id.btn_notify);btnNotify.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 1.创建通知管理对象NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);// 2.创建通知对象Notification no = new Notification();// 设置通知的提示信息no.tickerText = "你有新的消息";// 设置通知的图标no.icon = R.drawable.ic_launcher;// 设置默认的提示方式,DEFAULT_ALL表示声音提示、震动提示、闪光提示// no.defaults=Notification.DEFAULT_ALL;// 设置运行状态标识// FLAG_NO_CLEAR:该通知无法被清除// no.flags=Notification.FLAG_NO_CLEAR;// FLAG_ONGOING_EVENT:显示在正在运行的通知栏里// no.flags=Notification.FLAG_ONGOING_EVENT;// FLAG_AUTO_CANCEL:通知可以被清除掉no.flags = Notification.FLAG_AUTO_CANCEL;// 3.获取Intent对象PendingIntent conInt = PendingIntent.getActivity(getApplicationContext(), 0, getIntent(),PendingIntent.FLAG_CANCEL_CURRENT);// 4.设置显示在通知栏里的信息no.setLatestEventInfo(getApplicationContext(), "天气预报", "多云转晴",conInt);// 5.执行通知,第一参数为该通知的唯一标识nm.notify(12, no);}});}}
布局XML:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:id="@+id/layout"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><Buttonandroid:id="@+id/btn_notify"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="发送通知" /><Buttonandroid:id="@+id/btn_toast"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Toast" /></LinearLayout>