Android的消息提示:Toast与Notification的使用
2012-09-22 21:29
417 查看
Toast:向用户提供比较快速的即时消息,当Toast被显示时,虽然其悬浮应用程序的最上方,但是Toast从不获得焦点。一般用于提示用户某项设置成功。
Toast对象的创建通过Toast类的静态方法makeText来实现,该方法有两个重载实现,主要的不同是一个接收字符串,一个接收字符串的资源标识符作为参数
Toast对象创建好后,调用其show方法即可将消息提示显示到屏幕上。
一般来讲,Toast只显示比较简短的文本信息,但Toast也可以显示图片。
Toast实例:
1.main.xml
2.Activity
Notification是另外一种消息机制,Notification位于手机的状态栏,状态栏位于手机的最上层,通常显示电量,信号强度等信息。在Android的手机中用手指按下状态栏并往下拉可以打开状态栏查看系统的提示信息
Notification实例:
strings.xml
main.xml
Activity
Toast对象的创建通过Toast类的静态方法makeText来实现,该方法有两个重载实现,主要的不同是一个接收字符串,一个接收字符串的资源标识符作为参数
Toast对象创建好后,调用其show方法即可将消息提示显示到屏幕上。
一般来讲,Toast只显示比较简短的文本信息,但Toast也可以显示图片。
Toast实例:
1.main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 声明一个线性布局 --> <Button android:id="@+id/btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Click" /> <!-- 声明一个Button控件 --> </LinearLayout>
2.Activity
package wyf.jc; //声明包语句 import android.app.Activity; //引入相关类 import android.os.Bundle; //引入相关类 import android.view.Gravity; import android.view.View; //引入相关类 import android.widget.Button; //引入相关类 import android.widget.ImageView; //引入相关类 import android.widget.LinearLayout; //引入相关类 import android.widget.Toast; //引入相关类 public class Sample_6_9 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { //重写onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); //设置当前屏幕 Button btn = (Button)findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { //为按钮添加监听器 @Override public void onClick(View v) { ImageView iv = new ImageView(Sample_6_9.this); //创建ImageView iv.setImageResource(R.drawable.header2); //设置ImageView的显示内容 LinearLayout ll = new LinearLayout(Sample_6_9.this); //创建一个线性布局 Toast toast = Toast.makeText(Sample_6_9.this, "这是一个带图片的Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); View toastView = toast.getView(); //获得Toast的View ll.setOrientation(LinearLayout.HORIZONTAL); //设置线性布局的排列方式 ll.addView(iv); //将ImageView添加到线性布局 ll.addView(toastView); //将Toast的View添加到线性布局 toast.setView(ll); toast.show(); //显示Toast } }); } }
Notification是另外一种消息机制,Notification位于手机的状态栏,状态栏位于手机的最上层,通常显示电量,信号强度等信息。在Android的手机中用手指按下状态栏并往下拉可以打开状态栏查看系统的提示信息
Notification实例:
strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Sample_6_10!</string> <string name="app_name">Sample_6_10</string> <string name="btn">点击添加Notification</string> <string name="tv">我是通过Notification启动的!</string> <string name="notification">点击查看</string> </resources>
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 声明一个线性布局 --> <Button android:id="@+id/btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn" /> <!-- 声明一个Button对象 --> </LinearLayout>notified.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <!-- 声明线性布局 --> <EditText android:text="@string/tv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" android:cursorVisible="false" android:layout_gravity="center_horizontal" /> <!-- 声明EditText控件 --> </LinearLayout>
Activity
package wyf.jc; //声明包语句 import android.app.Activity; //引入相关类 import android.app.Notification; //引入相关类 import android.app.NotificationManager; //引入相关类 import android.app.PendingIntent; //引入相关类 import android.content.Intent; //引入相关类 import android.os.Bundle; //引入相关类 import android.view.View; //引入相关类 import android.widget.Button; //引入相关类 public class Sample_6_10 extends Activity { @Override public void onCreate(Bundle savedInstanceState) {//重写onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); //设置当前屏幕 Button btn = (Button)findViewById(R.id.btn); //获取Button对象 btn.setOnClickListener(new View.OnClickListener() { //为按钮设置监听器 @Override public void onClick(View v) { //重写onClick方法 Intent i = new Intent(Sample_6_10.this, NotifiedActivity.class); PendingIntent pi = PendingIntent.getActivity(Sample_6_10.this, 0, i, 0); Notification myNotification = new Notification(); //创建一个Notification对象 myNotification.icon=R.drawable.header; //Notification的图标 myNotification.tickerText=getResources().getString(R.string.notification); // myNotification.defaults=Notification.DEFAULT_SOUND; myNotification.setLatestEventInfo(Sample_6_10.this, "示例", "点击查看", pi); NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(0, myNotification); //发送Notification } }); } }
package wyf.jc; //声明包语句 import android.app.Activity; //引入相关类 import android.os.Bundle; //引入相关类 public class NotifiedActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { //重写onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.notified); //设置当前屏幕 } }
相关文章推荐
- Android消息提示:AlertDialog、Toast、Notification的使用
- android-UI组件实例大全(十三)------消息提示框:Toast和Notification
- 【Android开发】消息提示框与对话框-使用Toast显示消息提示框
- Android Toast简易消息提示框的使用
- [转]Android Toast简易消息提示框的使用
- Android 使用Notification进行消息提示
- android学习日记21--消息提示之Toast和Notification
- 【Android开发】消息提示框与对话框-使用Notification在状态栏上显示通知
- Android实现系统下拉栏的消息提示——Notification
- Android应用开发学习笔记之Toast消息提示框
- 微信小程序例子——使用toast消息对话框提示用户忘记输入用户名或密码
- 微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
- 第13讲- Android之消息提示Notification
- android 消息提醒(Toast,Notification)
- Android应用开发学习之Toast消息提示框
- Android中使用Toast弹出信息提示时的用户体验优化
- android使用NotificationListenerService监听通知栏消息
- Android--使用Notification在通知栏显示消息
- Android AlertDialog对话框的使用及实例(显示提示消息的对话框)
- android提示Toast的使用