android设置透明状态栏

在写这篇文章之前也看过很多大牛的博客,但是大多数都写的比较深奥和跳跃

而且网上还有很多对于透明状态栏及沉浸式状态栏的争论,简直看的头晕眼花

在此我用专业菜鸟的术语给大家解释一下:


沉浸式状态栏:就是你看视频(横屏)的时候没有状态栏,就算你点击屏幕一下也不会出现状态栏的(需要从上屏幕边缘往下划一下才能出来状态栏),由于不好截屏这里我就不上图了,大家心领神会一下就行了。

透明式状态栏:就式状态栏背景与应用背景相同,这就是*透明状态栏*,如下图博主的手机主界面就是透明状态栏。

我觉的很清楚的概念嘛,有何之争?有何混淆之处!

阐述清楚这两个概念之后,就可以切入正题啦

这次主要分享的是透明式状态栏:

先是半透明效果(两种方法):

第一种(简单):

//直接将下面的代码放在activity中的setContentView(R.layout.activity_main);中之前就行了
        if (Build.VERSION.SDK_INT >= 21) {
            View decorView = getWindow().getDecorView();
            decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
            getWindow().setStatusBarColor(Color.TRANSPARENT);
        }

第二种(复杂)

1.先修改 res / values / 目录下的styles.xml文件

< resources >
     < style name = "AppTheme" parent = "@style/BaseTheme" >
     </ style >
     < style name = "BaseTheme" parent = "Theme.AppCompat.Light.NoActionBar" >
         < item name = "colorPrimary" >@color/colorPrimary</ item >
         < item name = "colorPrimaryDark" >@color/colorPrimaryDark</ item >
     </ style >
</ resources >

2.然后我们在res下新建一个values-v19的目录(代表最低API为19),再在其中新建一个styles.xml
< resources >
     < style name = "AppTheme" parent = "@style/BaseTheme" >
         < item name = "android:windowTranslucentNavigation" >true</ item >
         < item name = "android:windowTranslucentStatus" >true</ item >
     </ style >
</ resources >

3.设置MainActivity的 布局文件为
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:app="http://schemas.android.com/apk/res-auto"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:fitsSystemWindows="true"//这句代码是控制不让toolbar和状态栏重叠,大家可以删了试一下,这里我就不上图了
    android:background="#fff000">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"

        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>//这两句代码用于切换色系不然是黑色的字体和深色系的弹出框(不用去理解)



</FrameLayout>
*为了看的出来是透明的,所以把背景颜色设置为了#fff000

 

 

4.在MainActivity中加入

 

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);

OK总共就4步,比网上很多教程都简单吧

 

以下为效果图:

虽然很丑但是还是能看出来状态栏已经是半透明的状态了就透出一些背景颜色,大致上就统一了色系

 

全透明效果:

直接在MainActivity中setContentView(R.layout.activity_main)之前加上以下代码

        getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        if(Build.VERSION.SDK_INT >= Build.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);
        }

完成后,效果图如下

       

 

收工啦~ 收工啦~

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1382102.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Win10任务栏透明,3个超好用解决方法!

案例&#xff1a;win10任务栏透明怎么办&#xff1f; 【我的电脑不知道为什么任务栏突然就变透明了&#xff0c;现在不知道该如何解决&#xff0c;遇到这种情况应该怎么办呀&#xff1f;】 Win10任务栏是Windows 10操作系统的一部分&#xff0c;通常默认为不透明。然而&#…

win11更新后Translucent TB 任务栏透明失效

不废话直接步骤 1.下载ViVeTools 下载 2.选择ViVeTools.zip 解压 3.在解压目录下以管理员打开CMD 4.查询26008830 ID的状态 ViVeTool.exe /query关闭为 disabled 开启为 enabled (需要设置为关闭) 5.关闭命令 ViVeTool.exe /enable /id:26008830 /variant:26.重启

Windows11任务栏无法透明化解决办法

Windows11家庭版停止系统更新 你可以选择停或是不停&#xff0c;下次更新可能就把任务栏又给整不能透明了 修改注册表 对于运行Windows11家庭版的用户&#xff0c;没有组策略编辑器&#xff0c;但可以使用注册表停止自动更新。 注意&#xff1a;错误地修改注册表可能会对您…

win10如何使任务栏全透明

> 学习汇总&#xff08;持续更新&#xff09; > 从零搭建后端基础设施系列&#xff08;一&#xff09;-- 背景介绍 首先需要用到一款软件,名字是StartIsBack 附上百度云地址: 链接&#xff1a;http://pan.baidu.com/s/1hrTGFAk 密码&#xff1a;lr6e 安装过程很简单&…

win10透明任务栏教程

win10透明任务栏教程 虽然win10秋季创意者更新加入了毛玻璃效果&#xff0c;但我们又怎么能就此满足&#xff0c;张科技今天带领大家体验一下完全透明的win10任务栏&#xff1a; 首先需要一款软件&#xff0c;名为 StartIsBack&#xff0c;回复【任务栏】获取下载地址&#x…

win10系统任务栏透明方法

win10任务栏透明 很多用了TranslucentTB或者StartIsBack的朋友都应该或多或少对这两款软件的缺陷保有遗憾&#xff0c;前者虽然适用于各个Windows版本、绿色小巧&#xff0c;但效果却不大理想&#xff0c;后者虽然效果完美&#xff0c;但必须随着Windows更新不断升级版本否则会…

win10任务栏全透明

一个可以实现win10任务栏全透明的工具&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1LSgxGAZxxuxE3rC3_L7fTg 密码&#xff1a;51dz。用VS2017打包的程序&#xff0c;使用方法是安装完打开&#xff0c;在任务栏点击程序图标可以选择不同的功能。效果如下&#xff1a; …

计算机管理设置透明,教你把win10任务栏透明设置

有时候我们看到别人电脑win10系统的任务栏的透明的&#xff0c;看起来很有个性&#xff0c;觉得非常好看&#xff0c;想要给自己的电脑的win10系统设置下&#xff0c;如何操作呢&#xff1f;下面跟随小编分享的教程操作一下&#xff0c;快速帮你把win10任务栏设置透明。 经常给…

TranslucentTB状态栏图标隐藏及恢复,windows状态栏透明美化

TranslucentTB设置隐藏图标及恢复&#xff0c;windows状态栏美化神器 安装Translucent后&#xff0c;打开应用可以在状态栏看到translucenttb的图标高级设置&#xff0c;隐藏图标 安装Translucent后&#xff0c;打开应用可以在状态栏看到translucenttb的图标 在TranslucentTB的…

EMC传导干扰滤波电路设计

1.EMC概念 2.EMC 传导干扰详解 EMC传导滤波电路的设计--传导干扰详解 3.EMC 传导干扰的测量方法 4.EMC 滤波电路设计 5.浪涌抑制电路设计 6.开关电源的安全要求 7.当前开关电源灯的应用

Win10任务栏100%透明怎么设置

许多用户在使用电脑的时候都会为电脑进行一些美化设置&#xff0c;其中就包括了任务栏的透明度的设置&#xff0c;而不少用户在使用Win10系统的时候想要把任务栏设置成100%透明&#xff0c;那么具体怎么操作呢&#xff1f;下面我就带着大家一起具体来看看怎么操作吧&#xff01…

Win10任务栏调为透明状态

1. 先设置透明效果。 wini&#xff0c;打开Windows设置&#xff0c;点击个性化&#xff0c;点击颜色&#xff0c;将透明效果打开。 2.winr&#xff0c;输入【regedit】 在路径: 【计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced】…

windows11任务栏全透明

颜色设置 1、打开windows设置&#xff0c;搜索颜色 2、选择个性化&#xff0c;右侧选择颜色&#xff08;主题色、透明效果、颜色主题&#xff09; 3、选择模式&#xff0c;选择自定义&#xff0c;选择你的默认windows模式&#xff0c;选择深色&#xff0c;选择默认应用模式&a…

Win11任务栏怎么透明?Win11任务栏全透明设置教程

Win11任务栏怎么透明&#xff1f;微软推出新的Win11系统已经很久了&#xff0c;不少用户在下载安装之后觉得任务栏颜色不好看想要设置成透明的&#xff0c;但是又不知道具体怎么操作&#xff0c;下面小编就带着大家一起学习一下任务栏设置透明的方法吧&#xff01; 更多系统教…

136.只出现一次的数字+26.删除有序数组中的重复项

目录 一、136.只出现一次的数字 二、代码 三、26删除有序数组中的重复项 四、代码 一、136.只出现一次的数字 136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 二、代码 交换律&#xff1a;a ^ b ^ c <> a ^ c ^ b 任何数与0异或为任何数 0 ^ n >…

jvm设置分配的内存越大越好吗

在同一台机器上&#xff0c;如果jvm设置的内存过大&#xff0c;就会导致其它程序所占用的内存小。比如elasticsearch、kafka&#xff0c;虽然它们都是基于jvm运行的程序&#xff08;java和scala都是依赖于jvm&#xff09;&#xff0c;但是它们的数据不是放到jvm内存中&#xff…

手机运行内存越大就越好吗?4GB与8GB的差距真的很明显吗?

你这里说的手机内存指的应该是运行内存&#xff0c;手机内存不能说越大越好&#xff0c;但是在同等条件下&#xff0c;内存大点没有什么坏处&#xff0c;毕竟内存是建立在手机CPU和闪存芯片之间的高速存储通道&#xff0c;如果容量不够CPU就只能到速度较慢的闪存芯片里调取数据…

主存和内存的区别

目录 主存和内存的区别 抛出问题 胡说八道 question 1 question 2 主存和内存的区别 抛出问题 内存和主存的区别 什么是磁盘IO 胡说八道 question 1 内存包括主存(内存条,基于DRAM)与高速缓存(Cache,基于SRAM)两部分。 一、定义上的区别&#xff1a; 主存储器&…

线上系统部署的时候,JVM堆内存大小是越大越好吗?

“ 这篇文章&#xff0c;给大家聊一个生产环境的实践经验&#xff1a;线上系统部署的时候&#xff0c;JVM堆内存大小是越大越好吗&#xff1f; 先说明白一个前提&#xff0c;本文主要讨论的是Kafka和Elasticsearch两种分布式系统的线上部署情况&#xff0c;不是普通的Java应用…

java 内存

java 内存 大多数 JVM 将内存区域划分为 Method Area&#xff08;Non-Heap&#xff09;&#xff08;方法区&#xff09; ,Heap&#xff08;堆&#xff09; , Program Counter Register&#xff08;程序计数器&#xff09; , VM Stack&#xff08;虚拟机栈&#xff0c;也有翻译…