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
原创粉丝点击