android 全屏FullScreen的配置

全屏的设置方式 随着api的升级 设置的api 也改变了

方式1: 代码的方式

    private fun hideSystemUI() {
    	//这个必须设置 否则不生效
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
        }
        WindowCompat.setDecorFitsSystemWindows(window, false)
        WindowInsetsControllerCompat(window, window.decorView).let { controller ->
            controller.hide(WindowInsetsCompat.Type.systemBars())
            controller.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
        }
        //低于kitkat的方式就没写 需要很低版本的可以谷歌
    }

方式2: xml配置方式

在themes的xml文件写 新建主题

    <style name="ThemeLauncher" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:statusBarColor">@color/co_transport</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:navigationBarColor">@color/co_transport</item>
    </style>
    <color name="co_transport">#00000000</color>

新建values-v27文件夹 拷贝上一步代码 同时添加 android:windowLayoutInDisplayCutoutMode
刘海屏的处理。

官方是这么解释的:

Android 还允许您控制是否在刘海区域内显示内容。窗口布局属性 layoutInDisplayCutoutMode 控制您的内容如何呈现在刘海区域中。您可以将 layoutInDisplayCutoutMode 设为以下某个值:
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT - 这是默认行为,如上所述。在竖屏模式下,内容会呈现到刘海区域中;但在横屏模式下,内容会显示黑边。
LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES - 在竖屏模式和横屏模式下,内容都会呈现到刘海区域中。
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER - 内容从不呈现到刘海区域中。
您可以通过编程或在 Activity 中设置样式来设置刘海模式。以下示例定义了一种样式,您可以使用它将 LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 属性应用到 Activity。

所以xml配置如下:

    <style name="ThemeLauncher" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:statusBarColor">@color/co_transport</item>
        <item name="android:navigationBarColor">@color/co_transport</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
        
        <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
    </style>
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android中,你可以使用多种方法实现全屏显示。其中一种方法是在AndroidManifest.xml文件中的需要全屏显示的Activity属性中添加android:theme="@android:style/Theme.NoTitleBar.Fullscreen"。另一种方法是在代码中实现,你可以在onCreate方法中添加以下代码: ```java protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置无Title requestWindowFeature(Window.FEATURE_NO_TITLE); //设置应用全屏,必须写在setContentView方法前面!!!记得! getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); } ```还有一种方法是自定义全屏Theme,在style.xml文件中定义theme,然后在AndroidManifest.xml中的需要全屏显示的Activity属性中添加android:theme="@style/Theme.NoTitle_FullScreen"。这些方法都可以实现Android全屏显示。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Android实现全屏的三种方式](https://blog.csdn.net/weixin_30869099/article/details/97743865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Android应用设置全屏的方法](https://blog.csdn.net/baiyifei2016/article/details/127052895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值