首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在透明状态栏中获得全屏背景?

在Android开发中,可以通过以下步骤在透明状态栏中获得全屏背景:

  1. 首先,在你的布局文件中,使用android:fitsSystemWindows="true"属性来确保布局内容不会被状态栏遮挡。
  2. 接下来,在你的Activity的onCreate()方法中,使用以下代码来设置透明状态栏:
代码语言:txt
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
  1. 然后,在你的布局文件中,添加一个与状态栏高度相同的View,并设置其背景为你想要的全屏背景颜色或图片。
代码语言:txt
复制
<View
    android:layout_width="match_parent"
    android:layout_height="@dimen/status_bar_height"
    android:background="@color/status_bar_color" />

其中,@dimen/status_bar_height是一个在dimens.xml文件中定义的状态栏高度,@color/status_bar_color是你想要的状态栏背景颜色。

  1. 最后,在你的Activity的onResume()方法中,使用以下代码来设置状态栏文字和图标为浅色(例如白色),以确保它们在透明状态栏上可见:
代码语言:txt
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}

这样,你就可以在透明状态栏中获得全屏背景了。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Human Interface Guidelines —— 状态栏(Status Bars)

Status Bar出现在屏幕的上边缘,并显示有关设备当前状态的有用信息,时间,手机运营商,网络状态和电池电量。 Status Bar显示的实际信息取决于设备和系统配置。 使用系统提供的状态栏。...对状态栏下的内容进行遮挡。默认情况下,状态栏背景透明的,允许下面的内容显示。保持status bar可读,并不意味着它背后的内容是交互式的。...·在status bar后面显示自定义图像,渐变色或纯色。 ·在status bar后面放置一个模糊的视图。 考虑在显示全屏媒体时暂时隐藏status bar。...例如,“照片”app会在用户浏览全屏照片时隐藏status bar和其他界面元素。 ? 全屏看图片 避免永久隐藏status bar。...在照片app浏览全屏照片时,一次点击就会再次显示status bar。 使用status bar来表示网络活动。

82560

全屏、沉浸式、fitSystemWindow使用及原理分析:全方位控制“沉浸式”的实现

可以这么理解:状态栏与导航栏拥有自己独立的窗口,而且这两个窗口的优先级较高,会悬浮在所有窗口之上,可以把系统自身的状态栏与导航栏看做全透明的,之所有会有背景颜色,是因为下层显示界面在被覆盖的区域添加了颜色...先看下关键点1跟2 ,这里是根据SystemUI的配置决定是否显示状态栏背景颜色,如果状态栏都不显示,那就没必要显示背景色了,其次,如果状态栏显示,但背景透明色,也没必要添加背景颜色,即不满足(color...最后看一下translucentFlag,默认情况下,状态栏背景色与translucent半透明效果互斥,半透明就统一用半透明颜色,不会再添加额外颜色。...用户布局级别的fitSystemWindow消费 假设图片浏览的场景:全屏,导航栏与状态栏透明,图片浏览区伸展到整个屏幕,通过设置下面的配置就能达到效果:全屏,并且用户布局与系统布局都不消费WindowInsets...沉浸式全屏 如上图:由于背景透明,所以状态栏与导航栏背景色View都没有被添加,其次,由于设置了View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

5.6K40
  • 最新iOS设计规范三|3大界面要素:栏(Bars)

    导航栏是半透明的,也可以添加背景色,并且必要时可以设置为隐藏。 ? 某些情况下可暂时隐藏导航栏,以提供更沉浸的体验。例如,当人们查看全屏照片时,“照片”会隐藏导航栏和其他界面元素。...隐藏状态栏下的内容。默认情况下,状态栏背景透明的,是可以看到背后的内容的。保持状态栏可读,并不意味着其背后的内容是可交互的。...有几种常见的技术可以做到这一点: · 在APP中使用导航栏,该导航栏会自动显示状态栏背景,并确保内容不会显示在状态栏背后 · 在状态栏背后显示自定义图像,渐变色或纯色 · 在状态栏背后放置模糊的视图...在“照片”应用浏览全屏照片时,只需轻按一次即可再次显示状态栏。 五、标签栏(Tab Bars) 标签栏出现在页面底部,可以在APP的不同模块之间快速切换。标签栏是半透明的,也可添加背景颜色。...工具栏是半透明的,也可以添加背景颜色,并在用户不需要它们时应该隐藏起来。 例如:在Safari,当你开始滚动页面时,工具栏会自动隐藏,因为你可能正在阅读。你还可以点击屏幕底部让它再次出现。

    9.9K10

    Android的Dialog弹出时隐藏导航栏效果,目前认为的最优解

    在Activity隐藏状态栏,要在setContentView(R.layout.activity_main)之前调用。 而Dialog,需要在dialog.show()方法之后去调用。...在Activity,虽然在setContentView(R.layout.activity_main)之前调用隐藏状态栏的代码,但是一旦Activity跳转,就又出来了, 解决办法是在隐藏状态栏逻辑代码的下面...);//一定要用mProgressDialog得到当前界面的参数对象,否则就不是设置ProgressDialog的界面了 params.alpha = 0.8f;//设置进度条背景透明度...params.x = 90; params.width = 3 * width / 5;//设置进度条的宽度 params.dimAmount = 0f;//设置半透明背景的灰度...,范围0~1,系统默认值是0.5,1表示背景完全是黑色的,0表示背景不变暗,和原来的灰度一样 mProgressDialog.getWindow().setAttributes(

    4.7K20

    开启全面屏体验 | 手势导航 (一)

    使用 Android 10 以下设备的用户同样能获得更加沉浸的体验。我们将它设置为可选,仅仅是为了最大程度地减少开发者的工作量和测试量。 在状态栏后面绘制内容 接下来,我们来看看屏幕顶部的状态栏。...举个具体的例子,比如像下图那样把一张背景图铺在状态栏后面,具体的技术实现可以参考类似 AppBarLayout 等布局,并将其放在屏幕顶部。 ?...请求进行全屏布局 第一步是让系统将我们应用布局扩展至系统栏后方。...△ 应用内容在全屏范围内渲染,而且在导航栏后面2. 更改系统栏颜色 我们的应用布局现在已经拓展至全屏范围,因此需要同步更改一下系统栏的颜色,以便看清其后面的应用内容。...对于浅色主题,可以试试使用半透明浅色遮盖 ( #B3FFFFFF)。 ? △ 深浅两种主题的遮盖示例3. 处理视觉冲突

    2.5K30

    Android 沉浸式解析和轮子使用

    关于沉浸式大概可以分成三个阶段: Android4.4(API 19)- Android 5.0(API 21):这个阶段可以实现沉浸式,但是表现得还不是很好,实现方式为: 通过 FLAGTRANSLUCENTSTATUS 设置状态栏透明并且为全屏模式...1.1.2 两种使用这个属性的方式: 在使用时候,我们通常需要考虑的是状态栏一值显示在顶部而不会隐藏或者被遮挡(其他 app 情况:读书 app 或者是游戏 app 则需要隐藏顶部状态栏),所以只需要通过代码设置...所以Android5.0以上可以设置状态栏和导航栏背景颜色,但还不能改变状态栏和导航栏图标和字色。...style> 二、ZanImmersionBar 轮子的原理和使用 在实际开发过程,我们不仅仅只会遇到以上三种版本兼容问题,还需要考虑:不同手机品牌,动态该状态栏背景,以及 Fragment 需要有自己的状态栏颜色场景...2.1.1 收集 bar 参数 我们使用一个对象用于存储用户设置的 bar 参数,这些参数有状态栏和导航栏颜色、透明度、显示隐藏等等,通过该对象的参数来分别设置 public class BarParams

    3.2K10

    开启全面屏体验 | 手势导航 (一)

    我们在 Android 10 添加了新的系统导航模式,用户可以通过手势交互执行后退、返回至主屏以及打开设备助手等操作。...使用 Android 10 以下设备的用户同样能获得更加沉浸的体验。我们将它设置为可选,仅仅是为了最大程度地减少开发者的工作量和测试量。 在状态栏后面绘制内容 接下来,我们来看看屏幕顶部的状态栏。...举个具体的例子,比如像下图那样把一张背景图铺在状态栏后面,具体的技术实现可以参考类似 AppBarLayout 等布局,并将其放在屏幕顶部。...请求进行全屏布局 第一步是让系统将我们应用布局扩展至系统栏后方。...对于浅色主题,可以试试使用半透明浅色遮盖 ( #B3FFFFFF)。 △ 深浅两种主题的遮盖示例3.

    19510

    关于 Android 的各种 Bar 和“透明状态栏”的一些知识

    关于沉浸式和透明式概念说明 在谷歌官方中: 在 Android 4.4 Google 引入了可以在阅读电子书、玩游戏、看电影时支持全屏模式(Immersive Mode 沉浸模式),同时也支持更改修改状态栏的颜色...上面也说了这种错误的叫法是不对的,没有沉浸式状态栏 ,这种样式只是将内容 UI 设置成了全屏,把状态栏设置成了透明。...所以这种是叫做 状态栏透明模式 设置透明状态栏 先来几组效果图,从效果 1 开始逐渐递进演示,这里面的几个重要参数会在后面具体说明,这里先说明现象 1.内容布局全屏 在 Android 4.1 以上设置去除状态栏或者认为是状态栏被内容布局遮挡了...这个时候我们只要设置状态栏透明。就是我们想要的透明状态栏的那种效果了。 效果图: ?...,我们只需要自己来创建一个系统栏背景就可以了。

    2.7K10

    浅谈 Android 自定义锁屏页的发车姿势

    此外,我们可以通过getBackground()获取UnderView的背景,并根据已划开屏幕占整个屏幕的百分比调用setAlpha方法改变背景透明度,做出抽屉拉开时的光影变化效果。 ?   ...则通过ObjectAnimator在0.25s将mMoveView移动到初始位置,同时在ObjectAnimator的AnimatorUpdateListener的onAnimationUpdate方法更新背景透明度...Android 4.4 之后加入的Immersive Full-Screen Mode 允许用户在应用全屏的情况下,通过在原有的状态栏/导航栏区域内做向内滑动的手势来实现短暂调出状态栏和导航栏的操作,且不会影响应用的正常全屏...这个“半透明化”包括了状态栏和通知栏,当开发者让应用支持这个新特性的时候,状态栏和导航栏可以单独/同时变为渐变的半透明样式,如下图: ?   ...现在除了原有的“半透明”模式以外,还有“全透明”以及“变色”模式,一种会完全隐藏背景,另一种可以取色作为背景颜色,多种样式的透明栏如下图(上图为透明状态栏,下图为透明导航栏): ? ?

    3.9K91

    沉浸式管理:让你的APP更优雅

    沉浸式实现原理其实是使整个activity布局延伸到整个屏幕,然后使状态栏变成透明色,有些手机会有导航栏,同样也可以把导航栏变成透明色,这样会使一些app更加美观。 先看两个概念 状态栏 ?...图片状态栏+彩色导航栏 ? ? 全屏图片 ? ? 彩色状态栏+彩色导航栏 ? ? 结合DrawerLayout使用 ?...修改状态栏字体颜色为深色 ? ? 设置状态栏和导航栏透明度 ? ? ? 解决EditText和软键盘的问题 ? ?...View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。 View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。...原理如此,发现SystemBarTint库的实现就是在状态栏和导航栏的位置自定义了可以改变背景颜色的view,然后通过window.getDecorView()得到根布局,把刚才创建的view添加进去,

    1.7K30

    浅谈Android自定义锁屏页的发车姿势

    此外,我们可以通过getBackground()获取UnderView的背景,并根据已划开屏幕占整个屏幕的百分比调用setAlpha方法改变背景透明度,做出抽屉拉开时的光影变化效果。...则通过ObjectAnimator在0.25s将mMoveView移动到初始位置,同时在ObjectAnimator的AnimatorUpdateListener的onAnimationUpdate方法更新背景透明度...Android 4.4 之后加入的Immersive Full-Screen Mode 允许用户在应用全屏的情况下,通过在原有的状态栏/导航栏区域内做向内滑动的手势来实现短暂调出状态栏和导航栏的操作,且不会影响应用的正常全屏...这个“半透明化”包括了状态栏和通知栏,当开发者让应用支持这个新特性的时候,状态栏和导航栏可以单独/同时变为渐变的半透明样式,如下图: ?...现在除了原有的“半透明”模式以外,还有“全透明”以及“变色”模式,一种会完全隐藏背景,另一种可以取色作为背景颜色,多种样式的透明栏如下图(上图为透明状态栏,下图为透明导航栏): ? ?

    2.3K80

    Dialog全屏,去掉状态栏的方式

    dialog即使设置全屏了,但还是有状态栏占用高度这; 直接将下面这行代码放到你的dialog即可 @Override protected void onStart() { super.onStart...--透明背景dialog样式-- <style name="TransparentDialogStyle" parent="@android:style/Theme.Dialog" <item...、沉浸式状态栏的总结 1.全屏和推出全屏 实现全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN...View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。 View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。...View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。

    4.7K20

    Android状态栏微技巧,带你真正理解沉浸式模式

    比如之前就有一个QQ群友问过我,像饿了么这样的沉浸式状态栏效果该如何实现? ? 这个效果其实就是让背景图片可以利用系统状态栏的空间,从而能够让背景图和状态栏融为一体。...其中,SYSTEM_UI_FLAG_FULLSCREEN表示全屏的意思,也就是会将状态栏隐藏。...,最后再调用Window的setStatusBarColor()方法将状态栏设置成透明色就可以了。...可以看到,类似于饿了么的状态栏效果就成功实现了。 再声明一次,这种效果不叫沉浸式状态栏,也完全没有沉浸式状态栏这种说法,我们估且可以把它叫做透明状态栏效果吧。...可以看到,界面默认情况下是全屏的,状态栏和导航栏都不会显示。

    2.1K100

    最新iOS设计规范七|10大视觉规范(Visual Design)

    注意状态栏的高度。全屏iPhone型号的状态栏比其他型号高。如果你的APP采用固定的状态栏高度将内容定位在状态栏下方,则必须更新APP以便于根据用户的设备来动态的定位内容。...请注意,当诸如录音和位置跟踪之类的后台任务处于活动状态时,全屏iPhone上的状态栏不会更改高度。 如果你的APP当前隐藏状态栏,请重新考虑全屏iPhone的隐藏与否。...放置在半透明元素后面或应用于半透明元素(工具栏)上时,颜色也会显得不同。 在各种照明条件下测试APP的配色方案。根据房间的氛围、一天的时间、天气等,室内和室外的照明差异很大。...色盲人可能无法区分某些颜色组合;而对比度不足会导致图标和文本与背景混合,使内容难以阅读。 系统颜色 iOS提供了一系列的系统颜色,可自动适应活动和可访问性设置的变化,增加对比度和降低透明度。...尽可能将自定义视图与系统提供的视图进行比较,以获得类似功能并使用相同的材质。 利用系统提供的文本、填充、字形和分隔符的颜色。系统提供的颜色会自动使这些项目在半透明背景上看起来很棒。

    8.1K30

    Android 必知必会 - 动态切换着色模式和全屏模式

    本文假设读者已经了解着色模式和全屏模式(沉浸模式)。...背景 公司的 APP 设计图仅有 iOS 版的,对于 Android 平台,它整体算是着色模式,但是在个人页面是全屏模式(沉浸模式),实现设计图时,我使用的是一个 Activity + 四个 Fragment...对于 Android 4.4 + ( >= 4.4 且 < 5.0 ) 这种情况下,我们启用 4.4 新增的半透明状态栏,通过修改当前 Activity 的根布局的 background 和 paddingTop...来动态切换『着色模式』和全屏模式。...对于 Android 4.4 + ( >= 4.4 且 < 5.0 ) 的情况,我这里并没有使用网上一些教程:向 DecorView 添加一个高度为状态栏的高度 View,也就没有黑线的问题,而是通过修改根布局的背景色和根布局的

    1K20

    iPhone X 适配指南 (官方翻译版)

    大多数使用标准系统提供的UI元素(导航栏,表格和集合)的应用程序会自动适应设备的新外形。背景材料延伸到显示器的边缘,并且UI元件被适当地插入和定位。...一些功能,宽彩色图像,最好在实际设备上预览。 提供全屏体验。确保背景延伸到显示器的边缘,并且垂直可滚动的布局(如表格和集合)一直延续到底部。 插入必要内容以防止剪辑。...为获得最佳效果,请使用标准的系统提供的界面元素和自动布局构建您的界面。所有应用程序都应遵循UIKit定义的安全区域和布局边距,这些区域可以根据设备和上下文进行适当的填充。...请注意,当背景任务(录音和位置跟踪)处于活动状态时,iPhone X上的状态栏不会改变高度。 如果您的应用程序目前隐藏状态栏,请重新考虑iPhone X上的决定。...您的应用程序不能影响这些按钮,因此避免在键盘重复这些按钮造成混乱。请参阅自定义键盘。 资源 下载Photoshop和Sketch 资源的 iPhone X UI设计模板。 原文链接

    2.5K50

    Android 样式和主题

    当应用主题背景时,应用或Activity的每个视图都会应用其支持的每个主题背景属性。除了这些之外,主题还可以将样式应用于非视图元素,例如状态栏和标题栏。...,无标题栏,全屏 android:theme="Theme.Black" 背景黑色 android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏 android:theme...="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏 android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景 android..." 用系统桌面为应用程序背景,无标题栏,全屏 android:theme="Translucent" 半透明 android:theme="Theme.Translucent.NoTitleBar" 半透明...、无标题栏 android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 半透明、无标题栏、全屏 android:theme="Theme.Panel"

    1K20

    Android实现修改状态栏背景、字体和图标颜色的方法

    需求场景: 当toolbar及状态栏需要为白色或浅色时(简书),状态栏由于用的Light风格Theme,字体,图标也都是白色,会看不清.如果改变成黑色就很和谐了....一.修改状态栏颜色: 改变状态栏颜色,可以看看这篇文章.传送门:实现状态栏(statusbar)渐变效果其实很简单 传送门实现的效果: 这种方法实现的状态栏变色,没有黑色背景. ?...使用全屏模式实现的效果如下(QQ的效果): ? 很明显的黑色背景....setExtraFlags", int.class, int.class); if (dark) { extraFlagField.invoke(window, darkModeFlag, darkModeFlag);//状态栏透明且黑色字体...statusbarview的背景,而frgament依赖于activity,所以在activity与fragment直接跳转时,状态栏不是很适用.比如:activity是蓝色,fragment需要是白色

    6K41
    领券