Android开发学习经历(四)

最近几天看了一下Android开发当中消息提醒的几种实现方式,比如有Toast,Notificatio,AlertDialog等等。所以首先在xml布局中添加三个按钮,分别来实现这三种功能。代码如下:
`
public class MainActivity extends AppCompatActivity {
NotificationManager notificationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, “提示消息”, Toast.LENGTH_SHORT).show();

        }
    });
    notificationManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
    Button button2=(Button)findViewById(R.id.button2);
    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Notification notification;
            Notification.Builder builder;
            builder=new Notification.Builder(MainActivity.this);
            builder.setContentTitle("标题");
            builder.setContentText("内容");
            builder.setSmallIcon(android.R.drawable.sym_action_chat);//设置图标
            builder.setAutoCancel(true);//设置声音提醒
            builder.setDefaults(Notification.DEFAULT_ALL);//三种提醒声音、灯光、震动都打开
            notification = builder.getNotification();
            notificationManager.notify(1, notification);
        }
    });
    Button button3=(Button)findViewById(R.id.button3);
    button3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
         final AlertDialog   alertDialog = new AlertDialog.Builder(MainActivity.this).create();
         alertDialog.setTitle("this is alertDialog");
         alertDialog.setMessage("确定退出吗?");
         alertDialog.setCancelable(true);//点击后清除
         alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定", new DialogInterface.OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {
             finish();//关闭程序
             }
         });
            alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE,"取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                alertDialog.dismiss();
                }
            });
            alertDialog.show();
        }
    });
}

}
`
第一个按钮是实现Toast功能,点击后会出现提示信息,一段时间后会自动消失。它的功能实现起来比较简单,只需要在监听器里面通过静态方法makeText()创建一个对象,然后调用show()方法将其显示出来即可,提示的时间长短可以在makeText()的第三个参数里面设置,可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。
第二个按钮是实现Notification功能的,也就是在通知栏显示提示信息或者后台运行信息的,这个功能我们都知道在Android APP中是很常见的。具体步骤如下:
1.先获取NotificationManager
2.创建Notification.Builder
3.设置Notification相关参数
4.推送notify
第三个按钮是实现AlertDialog,点击按钮后在当前界面弹出一个对话框,比如一些提示消息等。具体步骤如下:
1.通过AlertDialog.Builder创建一个AlertDialog实例
2.设置AlertDialog相关参数
3.设置按钮创建点击事件
4.调用show()方法显示对话框
以上值得注意的几点:
1.toast和AlertDialog区别在于toast无法设置点击事件,而且一段时间后会自动消失,同时toast可以在不打断用户操作的情况下提醒用户。
2.在设置Notification时,使用到了getNotification()方法,该构造方法在API 11就开始不赞成使用(我的API版本没有更新),所以可以用Notification.Builder进行替代。
3.在AlertDialog中使用setButton()方法,可以设置positive、neutral、 negative三个按钮,它们的位置依次位于对话框的右边、中间、左边。

猜你喜欢

转载自blog.csdn.net/qq_38055347/article/details/80071490