package com.example.dell.myapplication;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.NotificationCompat;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.File;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button insert;
private Button update;
private Button delete;
private Button delete1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
insert = (Button) findViewById(R.id.insert);
update = (Button) findViewById(R.id.update);
delete = (Button) findViewById(R.id.delete);
delete1 = (Button) findViewById(R.id.delete1);
insert.setOnClickListener(this);
update.setOnClickListener(this);
delete.setOnClickListener(this);
delete1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.insert:
showNotification();
break;
case R.id.update:
showToast("先生您好");
break;
case R.id.delete:
showDialog();
break;
case R.id.delete1:
showSnackbar();
break;
}
}
public void showNotification() {
//通过Notification.Builder 创建一个notification
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
//第一次收到通知时,在通知栏显示的内容
builder.setTicker("中奖通知");
//用户点击后自动消失
builder.setAutoCancel(true);
//在通知栏显示的标题
builder.setContentTitle("恭喜你中奖了");
//在通知栏显示的内容
builder.setContentText("你的号码被我公司抽中,中奖100万,请及时联络:139999");
//设置小图标,必须设置,否则通知无法显示
builder.setSmallIcon(R.mipmap.ic_launcher);
//设置用户无法去掉通知,只能通过代码根据id号去掉
//builder.setOngoing(true);
//设置静止和振动的数组,单位是毫秒,静止,振动,静止,振动···
builder.setVibrate(new long[]{0, 500, 500, 500});
//设置提示LED灯,颜色,亮起的时长,熄灭的市场
builder.setLights(Color.BLUE, 200, 200);
//设置通知的声音,要根据自己的音频位置
builder.setSound(Uri.fromFile(new File("/system/media/audio/ui/usb_effect.ogg")));
//设置默认的通知铃声、振动、LED灯
//builder.setDefaults(NotificationCompat.DEFAULT_ALL);
//设置优先级
builder.setPriority(NotificationCompat.PRIORITY_MAX);
Notification notification = builder.build();
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//第一个参数是用于取消通知的id号
manager.notify(1, notification);
}
public void showDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("通知");
//设置对话框内容
// builder.setMessage("这有个重要的通知要您处理");
//设置图标
builder.setIcon(android.R.drawable.ic_dialog_alert);
//设置是否可以点击屏幕其他地方或者返回键取消显示
builder.setCancelable(true);
//添加一个自定义布局,比如一个布局里一个输入框
View view = View.inflate(this, R.layout.item, null);
builder.setView(view);
//右边按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//该按钮的点击事件
}
});
//左边按钮
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//该按钮的点击事件
}
});
//单选列表
/*final String[] singleChoiceItems = new String[]{"Android", "Java", "PHP"};
builder.setSingleChoiceItems(singleChoiceItems, 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"您选择了"+singleChoiceItems[which],Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});*/
//复选列表
/*final String[] multiChoiceItems = new String[]{"Android", "Java", "PHP"};
builder.setMultiChoiceItems(multiChoiceItems, new boolean[]{false, true, true}, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
String ruselt = isChecked ? "已选择" : "未选择";
ruselt = multiChoiceItems[which] +ruselt;
Toast.makeText(getApplicationContext(),ruselt,Toast.LENGTH_SHORT).show();
}
});*/
//很多朋友都会忘了show
builder.show();
}
private Toast toast;
public void showToast(String content) {
//判断是否为空,避免生成多个Toast
if (toast == null) {
toast = Toast.makeText(this, content, Toast.LENGTH_SHORT);
} else {
toast.setText(content);
}
toast.show();
}
public void showSnackbar() {
//第一个参数是随便找当前布局的id就行了
Snackbar snackbar = Snackbar.make(findViewById(R.id.activity_main), "这个操作不重要", Snackbar.LENGTH_LONG);
//设置按钮
snackbar.setAction("好的", new View.OnClickListener() {
@Override
public void onClick(View v) {
//按钮单击事件
}
});
//显示该提示
snackbar.show();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android的各种通知Notification、Dialog、Toast、Snackbar
共73个文件
xml:41个
bin:6个
png:5个
需积分: 9 3 下载量 84 浏览量
2017-08-11
14:06:25
上传
评论
收藏 267KB RAR 举报
温馨提示
Android的各种通知Notification、Dialog、Toast、Snackbar
资源推荐
资源详情
资源评论
收起资源包目录
Android的各种通知Notification、Dialog、Toast、Snackbar.rar (73个子文件)
MyApplication5
gradlew.bat 2KB
gradlew 5KB
gradle.properties 747B
.gradle
2.14.1
tasks
_app_compileDebugJavaWithJavac
localJarClasspathSnapshot
localJarClasspathSnapshot.bin 21KB
localJarClasspathSnapshot.lock 17B
localClassSetAnalysis
localClassSetAnalysis.lock 17B
localClassSetAnalysis.bin 74KB
taskArtifacts
fileHashes.bin 246KB
cache.properties.lock 17B
taskArtifacts.bin 134KB
fileSnapshotsToTreeSnapshotsIndex.bin 30KB
fileSnapshots.bin 3.01MB
cache.properties 31B
app
proguard-rules.pro 662B
src
test
java
com
example
dell
myapplication
ExampleUnitTest.java 424B
androidTest
java
com
example
dell
myapplication
ExampleInstrumentedTest.java 790B
main
res
mipmap-xxxhdpi
ic_launcher.png 10KB
drawable
mipmap-hdpi
ic_launcher.png 3KB
values
colors.xml 214B
strings.xml 80B
styles.xml 394B
dimens.xml 216B
mipmap-xxhdpi
ic_launcher.png 8KB
mipmap-mdpi
ic_launcher.png 2KB
mipmap-xhdpi
ic_launcher.png 5KB
layout
item.xml 765B
activity_main.xml 1KB
values-w820dp
dimens.xml 364B
java
com
example
dell
myapplication
MainActivity.java 7KB
AndroidManifest.xml 689B
app.iml 13KB
.gitignore 8B
build.gradle 956B
libs
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 233B
.idea
gradle.xml 626B
runConfigurations.xml 564B
misc.xml 2KB
copyright
profiles_settings.xml 76B
modules.xml 365B
compiler.xml 686B
workspace.xml 171KB
libraries
javawriter_2_1_1.xml 330B
jsr305_2_0_1.xml 330B
support_annotations_25_3_1.xml 495B
recyclerview_v7_25_3_1.xml 779B
support_v4_25_3_1.xml 420B
support_vector_drawable_25_3_1.xml 640B
rules_0_5.xml 721B
javax_annotation_api_1_2.xml 358B
runner_0_5.xml 727B
hamcrest_library_1_3.xml 342B
espresso_idling_resource_2_2_2.xml 682B
support_core_utils_25_3_1.xml 797B
animated_vector_drawable_25_3_1.xml 645B
hamcrest_core_1_3.xml 526B
design_25_3_1.xml 725B
junit_4_12.xml 477B
support_compat_25_3_1.xml 773B
support_core_ui_25_3_1.xml 779B
appcompat_v7_25_3_1.xml 761B
support_media_compat_25_3_1.xml 809B
transition_25_3_1.xml 575B
support_fragment_25_3_1.xml 785B
hamcrest_integration_1_3.xml 354B
espresso_core_2_2_2.xml 627B
javax_inject_1.xml 324B
exposed_instrumentation_api_publish_0_5.xml 700B
.gitignore 127B
local.properties 428B
settings.gradle 16B
MyApplication5.iml 868B
build.gradle 521B
共 73 条
- 1
资源评论
夜雨飘零1
- 粉丝: 2845
- 资源: 108
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功