基本信息
源码名称:android 弹屏通知
源码大小:3.09M
文件格式:.zip
开发语言:Java
更新时间:2021-02-20
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
# NotificationToast
Android Notification Toast without any device compatibility
## usage:
NotificationToast.show(notificationId, customView);
package com.suyf.notificationtoast; import android.app.Notification; import android.app.NotificationManager; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.view.Window; import android.view.animation.AnimationUtils; import android.widget.FrameLayout; import android.widget.Toast; import com.suyf.notificationtoast.notification.NotificationFactory; import com.suyf.notificationtoast.toast.NotificationToast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void show_notification(View view) { Toast.makeText(this, "get push message background...", Toast.LENGTH_SHORT).show(); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } new Handler(getMainLooper()).postDelayed(new Runnable() { @Override public void run() { showNotification(); } }, 100); } }).start(); } public void show_notification2(final View view) { final int notificationId = 0x1001; final NotificationManager manager = (NotificationManager) getSystemService( NOTIFICATION_SERVICE); NotificationFactory factory = new NotificationFactory(getApplicationContext(), manager); Notification notification = factory.createNotification("id1", "I am notification title1", "I am notification contentxxxxxxxxxxx1"); factory.clear(); manager.notify(notificationId, notification); final View notificationView = getLayoutInflater() .inflate(R.layout.view_notification_toast, null); findTopView().addView(notificationView); notificationView .startAnimation(AnimationUtils.loadAnimation(this, R.anim.notification_toast_enter)); notificationView.postDelayed(new Runnable() { @Override public void run() { manager.cancel(notificationId); ViewParent parent = notificationView.getParent(); if (parent instanceof ViewGroup) { ((ViewGroup) parent).removeView(notificationView); } } }, 3000); } public void show_notification3(View view) { } public void show_second_page(View view) { startActivity(new Intent(this, SecondActivity.class)); } private ViewGroup findTopView() { View view = findViewById(Window.ID_ANDROID_CONTENT); FrameLayout frameLayout = null; while (view != null) { ViewParent parent = view.getParent(); if (parent instanceof View) { view = (View) parent; } else { view = null; } if (parent instanceof FrameLayout) { frameLayout = (FrameLayout) parent; } } return frameLayout; } private void showNotification() { int notificationId = 0x1001; NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); NotificationFactory factory = new NotificationFactory(getApplicationContext(), manager); Notification notification = factory.createNotification("id1", "I am notification title1", "I am notification contentxxxxxxxxxxx1"); factory.clear(); manager.notify(notificationId, notification); NotificationToast .show(notificationId, getLayoutInflater().inflate(R.layout.view_notification_toast, null)); } }