Android stduio学习控件----NotificationManager,ToolBar,Alertdialog

Android stduio学习控件----NotificationManager,ToolBar,Alertdialog,第1张

Android stduio学习控件----NotificationManager,ToolBar,Alertdialog

Notification可以实现message框的是生成

package com.example.imageview;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.nio.channels.Channel;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "leo";
    private NotificationManager manager;
    private Notification notification;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建控制器*****************************************
        manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        //生成NotificationChannl对象("leo")*************************************************
        //NotificationChannl通知渠道可以用于让用户自定义message格式
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
        {
            NotificationChannel channel = new NotificationChannel("leo","测试通知",NotificationManager.importANCE_HIGH);
            manager.createNotificationChannel(channel);
        }
        //用于跳转准备的代码**************************************************
        Intent intent = new Intent(this,Notificativity.class);
        PendingIntent pendingIntent = PendingIntent.getActivities(this,0, new Intent[]{intent},0);
        //设置message框的属性(前提设置了NotificationChannl)**********************************************
        notification = new NotificationCompat.Builder(this,"leo")
                .setContentTitle("你好呀!") //设置标题
                .setContentText("美好的世界!!") //设置message内容
                .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.boy))//设置小图片
                .setSmallIcon(R.drawable.ic_android_black_24dp)   //设置小图片(原图不可以有颜色)
                .setColor(Color.parseColor("#ff0000")) //设置小图片颜色
                .setContentIntent(pendingIntent) //点击message后跳转页面
                .setAutoCancel(true)   //点击后message是否消失
                .build(); //建立


    }
    //通过button实现message出现
    public void message_show(View view) {
        manager.notify(1,notification);
    }
    //通过button实现message消失
    public void message_close(View view) {
        manager.cancel(1);
    }
}

Toolbar空间的xml布局文件



        
        //toolbar空间
        

        





配套的java内容

package com.example.imageview;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.NotificationCompat;

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.nio.channels.Channel;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "leo";
    private NotificationManager manager;
    private Notification notification;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //根据id寻找toolbar***************************************
        Toolbar toolbar = findViewById(R.id.day);
        //监听toolbar是否被按下************************************
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.e("leo", "onClick: 被点击成功");
            }
        });
        //toolbar的格式也可以用java来改变(不怎么推荐)****************88
        Toolbar toolbar1= findViewById(R.id.day_1);
        toolbar1.setTitle("title_2");
    }
}

alertdialog

package com.example.imageview;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.NotificationCompat;

import android.app.alertDialog;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.nio.channels.Channel;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "leo";
    private NotificationManager manager;
    private Notification notification;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //button点击函数***********************************************************
    public void onclick_show(View view) {
        //d框空间生成********************************************************
        alertDialog.Builder builder = new alertDialog.Builder(this);
        builder.setTitle("你好呀!!") //设置d框标题
                .setIcon(R.drawable.boy)//设置d框图片
                .setMessage("今天的天气真好呀!!")//设置d框信息
                //设置d框右面的button与其的事件
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e(TAG, "onClick: 1");
                    }
                })
                //设置d框中间面的button与其的事件
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e(TAG, "onClick: 2");
                    }
                })
                //设置d框右面的button与其的事件
                .setNeutralButton("中间", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e(TAG, "onClick: 3");
                    }
                })
                //下面两个必须有,且位置不要变
                .create()
                .show();
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5435368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存