遇到 UI 没有延伸到整个手机的问题 尽管被限制并禁用了操作栏

Posted

技术标签:

【中文标题】遇到 UI 没有延伸到整个手机的问题 尽管被限制并禁用了操作栏【英文标题】:Running into the problem of the UI not stretching out to the whole phone Despite being constrained and disabling the action bar 【发布时间】:2022-01-08 21:59:30 【问题描述】:

我正在尝试创建一个用户界面,但遇到了用户界面没有在顶部伸展的问题。即使在我限制了所有元素并禁用了操作栏之后。 如何删除顶部的浅灰色条并使其成为应用程序本身的颜色?

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您可以在 android studio 中的明暗主题上使用 Theme.MaterialComponents.Light.NoActionBar.Bridge 主题,现在它有两个基于用户模式的明暗模式主题,因此如果您愿意,请同时使用上述主题使状态栏透明你可以使用下面的sn-p

window.apply 
            clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
            addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) 
                decorView.systemUiVisibility =
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
             else 
                decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            
            statusBarColor = ContextCompat.getColor(context,android.R.color.transparent)
        

窗口是您从活动中获得的窗口

【讨论】:

啊,我明白了!只是想确定一下。我应该将此应用于我想要全屏显示的每个活动的 java 文件吗?并感谢您的帮助! 是的,您可以将其保存在您的常用工具中并调用所有活动以获取透明状态栏 Noactionbar 有效!非常感谢,我现在必须研究如何使状态栏成为特定颜色,因为它似乎仍然是灰色。我想这可能是因为我让应用程序支持尽可能低的 sdk。

以上是关于遇到 UI 没有延伸到整个手机的问题 尽管被限制并禁用了操作栏的主要内容,如果未能解决你的问题,请参考以下文章

iPhone界面为啥会覆盖

Unity中,将UI限制在手机的安全区内显示

iCloud UI 测试显示警报登录到 iCloud,尽管已登录并为应用程序启用了 iCloud

iOS中的触摸事件转发

jQuery ui 滑块移动整个表格

自动布局和约束不使按钮大小相同(尽管有大小限制)