activity android12全屏

这段代码用于在Android应用中实现无标题全屏显示,并处理刘海屏的显示问题。通过设置Window特性,隐藏标题栏,全屏显示,并在Pie及以上版本适配显示区域切口,避免状态栏出现黑条并占用空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          // 设置无Title
    requestWindowFeature(Window.FEATURE_NO_TITLE);

//设置应用全屏,必须写在setContentView方法前面!!!记得!
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    /**
     * 设置全屏显示
     */
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    WindowManager.LayoutParams lp = getWindow().getAttributes();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
        lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
    }
   // getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);


    getWindow().setAttributes(lp);

关键:LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
否则会出现状态栏黑条,占用空间问题

Android中,想要实现Activity全屏显示,通常需要通过覆盖`onCreate()`、`onStart()`, `onResume()`等生命周期方法,并设置一些属性来达到目的。以下是大致步骤: 1. **修改主题**: 使用一个支持全屏模式的主题,例如`Theme.NoTitleBar.Fullscreen` 或者自定义一个主题,将`<item name="android:windowFullscreen">true</item>`添加到`styles.xml`文件中。 ```xml <style name="FullScreenTheme" parent="Theme.AppCompat"> <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowFullscreen">true</item> </style> ``` 2. **创建Activity并应用主题**: 在创建Activity时,将其主题设置为你刚才定义的全屏主题。例如: ```java public class FullScreenActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_full_screen); this.setTheme(R.style.FullScreenTheme); // 使用全屏主题 } } ``` 3. **去除状态栏** (仅限API 21及以上): 如果你还想移除设备上部的状态栏,可以使用沉浸式设计(Translucent Status Bar),添加以下代码: ```java getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); ``` 4. **处理返回键**: 全屏模式下可能需要自定义处理返回键的行为,比如关闭Activity。可以在`onBackPressed()`方法里实现。 注意:以上操作可能会导致某些系统功能不可见,如导航栏、硬件菜单等,所以确保在实际项目中权衡是否真的需要全屏显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值