传奇状态栏透明补丁_传奇13周年主界面透明补丁

新闻内容传奇手游传奇sf新版传奇刚开传奇新区网站地图
时间:2021-09-27 18:51来源:网络sf920整理 作者:佚sf920名 点击:

我之前编写的项目基本上没有考虑过Android的透明状态栏。最近,该项目很有用,所以我搜索了Internet。找到的文章要么是不完整的解释和错误,要么是使用某些库并且不谈论原理。他们出现来向您展示效果图,然后有十二种方法会让您眼花azz乱。查看源代码,您对它的了解越多,它就会变得越复杂。算了,自己编写一个简单且可用的工具。因此,本文将以一种易于理解的方式介绍Android透明状态栏的原理,以及几种常见使用场景的处理方法。

以下是达到的效果:

透明状态栏。gif

以上效果支持具有相同背景的状态栏和标题栏(ToolBar或自定义),并且可以进行修改(更改颜色,渐变,不透明度并查看其更改方式),而标题栏的位置不6.将状态栏背景中的浅色状态栏背景的字体颜色修改为大于0的深色。支持使用DrawerLayout和Fragment。尽管影响很多,但原理实际上是相同的。

本文将教您如何修改状态栏的颜色以及如何解决状态栏和标题栏的内容重叠的问题。

顺便说一句,这里的透明状态栏是??指布局内容扩展到状态栏的效果。互联网上的许多人也将其称为沉浸式状态栏,因此在这里我不会对此予以驳斥。

原理

透明状态栏的设置兼容。 Android 4. 4(API 1 9)在API 1 9)之前不支持透明状态栏,而Android 5. 0(API 2 1)和更高版本对透明状态栏有不同的处理方法。因此,我们需要兼容的是确保4. 4之前的版本不支持透明状态栏,但是UI效果仍然需要协调,并且4. 4之后的版本应尝试达到一致的显示效果根据不同的API版本。

设置透明状态栏的核心方法是以下方法:

 public static void makeStatusBarTransparent(Activity activity) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
            return;
        }
        Window window = activity.getWindow();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            int option = window.getDecorView().getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
            window.getDecorView().setSystemUiVisibility(option);
            window.setStatusBarColor(Color.TRANSPARENT);
        } else {
            window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        }
    }

(责任编辑:admin)

 

★文章展示★

新开传奇私服合击版