DialogActivity.java package com.example.notificationdemo;import android.app.ProgressDialog;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bu
package com.example.notificationdemo;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.Toolbar;
public class DialogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
}
public void click1(View view){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("警告");
builder.setMessage("点量以不足10%,是否进入节能模式");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "即将进入节能模式", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "请注意及时充电", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog=builder.create();
dialog.show();
}
/**
*单选对话框,使用得是setSingleChoiceItems方法,定义一个String【】数组,用来存储选项。
*/
public void click2(View view){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("请选择你的性别");
final String[] item={"男","女"};
builder.setSingleChoiceItems(item, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "你的选择是"+item[which], Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "取消选择", Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
/**
* 多选对话框,运用的是setMultChoiceItems()方法,需要定义一个String【】数组,以及一个Boolean【】(表示初始选中状态)数组
*/
public void click3(View view){
AlertDialog .Builder builder=new AlertDialog.Builder(this);
builder.setTitle("请选择你感兴趣的课程");
final String[] item={"java","c#","php","android","js","python","SQL","c++"};
boolean[] checked={false,false,false,false,false,false,false,false};
builder.setMultiChoiceItems(item,checked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(DialogActivity.this, item[which], Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
/**
*进度对话框,progressDialog
*/
public void click4(View view){
final ProgressDialog pd=new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMax(100);
pd.setTitle("提醒");
pd.setMessage("正在加载数据。。。请稍后");
pd.show();
new Thread(){
@Override
public void run() {
for (int i=0;i<=100;i++) {
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.setProgress(i);
}
pd.dismiss();
};
}.start();
}
}
MainActivity.java
package com.example.notificationdemo;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.NotificationCompat;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button= (Button) findViewById(R.id.send);
button.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.send:
Intent intent=new Intent(this,NotificationActivity.class);
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,0);
NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification=new NotificationCompat.Builder(this)
.setContentTitle("通知标题")
.setContentText("通知内容")
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
.setContentIntent(pendingIntent)
.setAutoCancel(true)//点击通知栏后通知栏消失
// .setVibrate(new long[]{0,1000,1000,1000})//控制震动
//.setLights(Color.GREEN,1000,1000)//灯光颜色
// .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.img1)))
//插入图片
.setPriority(NotificationCompat.PRIORITY_MAX)//通知重要程度
.build();
manager.notify(1,notification);
break;
default:
break;
}
}
}
NotificationActivity.java
package com.example.notificationdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class NotificationActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notifitication_layout);
}
}
activity_dialog.xml
activity_main.xml
notifitication_layout.xml
自定义对话框 方法
public void click5(View view){
LayoutInflater inflater=LayoutInflater.from(this);
view =inflater.inflate(R.layout.auto_dialog_layout,null);
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setView(view);
builder.show();
}
自定义对话框 xml
