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(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)