AppCompatActivity实现全屏的问题

本文介绍了一种通过修改样式文件来实现Android应用中的Activity全屏显示的方法。具体步骤包括在styles.xml中定义一个名为MyFullScreenTheme的新样式,并在AndroidManifest.xml中为指定的Activity设置该主题。

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

前言:我的 Activity 是继承 BaseActivity , 而 BaseActivity 继承 AppCompatActivity 。

 

BaseActivity 的继承

/**
 * 应用程序的基类
 *
 */
public class BaseActivity extends AppCompatActivity {

}

 

HomeActivity 的继承
public class HomeActivity extends BaseActivity{

}

 

一:错误的发生

 

 报错信息 

   

 

二:正确的代码思路

在 styles里面新建一个 style

  <!-- Activity全屏 开始-->
    <style name="MyFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowActionBar">false</item>
    </style>
  <!-- Activity全屏 结束-->

  

然后在 AndroidManifest.xml 中对 HomeActivity 设置style  MyFullScreenTheme 

 

 

 

 

 

 

在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、付费专栏及课程。

余额充值