这个特性是andorid4.4支持的,最少要api19才可以使用,也就是说如果Android的机子是低于4.4,沉浸通知栏是没有效果的。下面介绍一下使用的方法,非常得简单。
/** * 设置通知栏 这个方法在onCreate()实现,如果是在父类的onCreate()中添加,即使所有继承了该父类都会有沉浸通知栏。 */ public void initSystemBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.red); } } /** * 设置通知栏的状态 * @param on */ @SuppressLint("InlinedApi") private void setTranslucentStatus(boolean on) { Window win = this.getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams); }
在最后在布局文件中添加:android:fitsSystemWindows="true"
即可实现。
Android5.0全透明状态栏效果,具体实例代码如下所示:
实现上述效果的代码如下:
public class MainActivity extends Activity { @SuppressLint("InlinedApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_NO_TITLE); if(VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); window.setNavigationBarColor(Color.TRANSPARENT); } setContentView(R.layout.activity_main); } }
以上代码写的不好,还请各位大侠多多提出,同时希望本文分享对大家有所帮助。
本文向大家介绍android通知栏的实现方法分析,包括了android通知栏的实现方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了android通知栏的实现方法。分享给大家供大家参考,具体如下: 这几天一直在修改twigee的源代码,其中一个要加入的功能是常驻Notification栏,以前写的时候只能出现 在“通知”这一组中,想把它放在“正在运行”组中却不知道怎么放,查了下官方文
我一直在寻找一种方法,在状态栏完全透明(而不是半透明)的情况下重新给导航栏上色。要使状态栏完全透明,需要将布局标志设置为无限制,但这也会使导航栏失去颜色。有没有办法做到这一点?
本文向大家介绍Android使用Notification实现普通通知栏(一),包括了Android使用Notification实现普通通知栏(一)的使用技巧和注意事项,需要的朋友参考一下 Notification是在你的应用常规界面之外展示的消息。当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏。要查看消息的详情需要进入通知抽屉(notificationdrawer)中查看。(n
在“新”Android4.3版中有一个新功能。屏幕顶部的状态栏在launcher中是透明的(我在Galaxy S3上使用三星TouchWiz),在其他一些应用中也是透明的(看起来有点像iOS 7风格)。你能告诉我如何在我自己的应用程序(Eclipse、Java)中使状态栏透明(或彩色)吗?
本文向大家介绍Android编程实现上方通知栏里闪动效果的方法,包括了Android编程实现上方通知栏里闪动效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现上方通知栏里闪动效果的方法。分享给大家供大家参考,具体如下: 显示通知代码: 你要设置图片闪动的话,这个没有api,你只能设置具有动画效果的图片,替换上面代码中的n.icon,google的下载通知算是一
我在这个问题上做了一些研究,但我找不到一个完整的解决方案,所以,一步一步,通过一些尝试和错误,我终于找到了我们如何实现这些结果:拥有一个透明或彩色的和。看我下面的回答。