Toast与Notification的使用
来源:互联网 发布:js合并两个有序数组 编辑:程序博客网 时间:2024/05/17 09:18
Toast
- 概念
在系统中,通过对话框可以对用户的某些操作进行提示,在Android平台中还提供了另外一套更加友好的界面效果,而这种界面在提示用户时不会打断用户的正常操作,这种对话框可以通过Toast组件实现。
- 创建Toast对象
public static Toast makeText(Context context, CharSequence text,int duration);
简单Toast使用
//创建toast对象
Toast toast = Toast.makeText(this,已保存,Toast.LENGTH_SHORT);
//显示toast
toast.show();
- 自定义 Toast 使用
Toast toast= Toast.makeText(this,”已保存”,Toast.LENGTH_SHORT);
View view=LayoutInflater.from(this).inflate(R.layout.my_toast,null);
Toast.setView(view);
Toast.setGravity(Gravity.BOTTOM,0,0);
toast.show();
Notification
Notification 是显示在手机状态栏的消息(手机状态栏位于手机最顶端),代表一种全局的通知。
- 通知栏内容
图标
标题
内容
时间
点击后响应
- 如何实现通知栏
获取NotificationManger
显示通知栏 notify(id,notification)
取消通知栏:cancle(id);
构造Notification并设置显示内容
- 代码:
MainActivity.java
import android.annotation.SuppressLint;import android.app.Activity;import android.app.Notification;import android.app.PendingIntent;import android.app.Notification.Builder;import android.app.NotificationManager;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;@SuppressLint("NewApi")public class MainActivity extends Activity implements OnClickListener { Button btn1,btn2; NotificationManager notiManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button) findViewById(R.id.btn1); btn2=(Button) findViewById(R.id.btn2); btn1.setOnClickListener(this); btn2.setOnClickListener(this); //得到服务 notiManager=(NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); } @Override public void onClick(View v) { if(v.getId()==R.id.btn1){ Builder builder=new Notification.Builder(this); //设置图标 builder.setSmallIcon(R.drawable.ic_launcher); //设置状态来提示 builder.setTicker("紧急通知!"); //设置主题 builder.setContentTitle("通知栏"); //设置通知内容 builder.setContentText("我是来自远方的孤独的狼"); //设置显示时间 builder.setWhen(System.currentTimeMillis()); //预制意图(预设好,等到某个时间点,再去执行该意图) PendingIntent pendingintent=PendingIntent.getActivity(this, 0, new Intent(this,MainActivity.class),0); //点击通知时,执行意图(启动MainAcitviyt) builder.setContentIntent(pendingintent);// //设置点击后取消通知 builder.setAutoCancel(true); //取出通知对象 Notification notification =builder.build();//4.1以上 //Notification notification=builder.getNotification();//4.1之前 //将notification添加到管理中 notiManager.notify(1, notification); }else if(v.getId()==R.id.btn2){ notiManager.cancel(1); } }}
Activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.android_830_notification.MainActivity" > <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="112dp" android:text="发送" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btn1" android:layout_below="@+id/btn1" android:layout_marginTop="47dp" android:text="取消" /></RelativeLayout>
1 0
- Toast与Notification的使用
- Android的消息提示:Toast与Notification的使用
- Android Notification与Toast
- Android消息提示:AlertDialog、Toast、Notification的使用
- Toast Notification
- 简单的menu与Toast的使用
- Android Notification的学习与使用
- Notification的功能与使用案例
- Android学习笔记之Toast与通知栏(Notification)
- 在IntentService中使用Toast与在Service中使用Toast的异同
- 在IntentService中使用Toast与在Service中使用Toast的异同,intentservicetoast
- Toast和Notification
- 练习Toast和Notification
- 通知(Notification、Toast)
- Toast和Notification
- Toast,Dialog,PopupWindow,Notification
- 自定义Notification和Toast
- Notification and Toast comments
- Android工程师面试题大全
- Mysql技术内幕——InnoDB存储引擎
- C语言学习杂技记
- TOJ 2896.Antimonotonicity(贪心)
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- Toast与Notification的使用
- Android中Handler引起的内存泄露
- 堆与栈的区别
- VPS优化TCP fast open
- (算法)多少个1组成的整数可以被2011整除?
- k-means聚类算法
- INNODB整体讲解
- 自己写一个最简单的bootloader_jz2440
- 小trick之tools