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