在Android中,关于如何全屏显示的问题

本文介绍了在Android中实现全屏显示的两种方法:通过XML配置和代码设置。在XML中自定义Theme,而在代码中需注意在设置全屏前先隐藏标题栏,特别是对于AppCompatActivity。测试结果显示,单纯设置全屏标志只会隐藏状态栏,标题栏需额外处理。

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

前言:

当我们在Android中以默认地形式创建一个Activity时,我们可以看到,其生成的界面如下:


由于状态栏和标题栏在整个界面中占据了不少的位置,而我们又没有状态栏和标题栏的这样的需求,所以

此时,我们让其进行一个全屏显示,关于全屏显示,一种是在xml中进行配置,一种是在代码中进行,如下:


方法一:xml配置:

res/values/style.xml中自定义一个Theme,如下:

<!--
这里继承的parent ThemeTheme.AppCompat.Light.NoActionBar所以在这一步,标题栏就没有了,那么接下来,我们只需要将状态栏隐藏掉即可,如下:
<item name="android:windowFullscreen">true</item>
-->
<style name="ThemeNoTitleFullScreen" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowFullscreen">true</item>
</style>
然后AndroidManifest.xml的<application>节点的theme属性中引用我们自定义的style:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/ThemeNoTitleFullScreen">
    ...
</application>

方法二:代码配置:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /**
         * 全屏显示
         */
        /***
         * 这是隐藏标题栏
         */
        getSupportActionBar().hide();
        /***
         * 添加全屏显示的标识位,默认情况下,添加全屏标识位并不会将标题栏隐藏掉,
         * 所以在添加全屏标识位之前,我们已提前将标题栏予以隐藏
         */
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

        /**
         * 取消全屏显示(注意:下面这一部分已注释掉了,看代码时,注意看)
         */
        /**
         * 这是显示标题栏
         * */
        //getSupportActionBar().show();
        /**
         * 这是清除全屏显示标识位
         */
        //getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main);

    }
}

运行结果如下:



注:

从测试的结果来看,默认地情况下,添加全屏标识位,并不会将标题栏隐藏掉,只是将状态栏给隐藏了,

所以在设置全屏之前,我们应提前手动将标题栏予以隐藏掉;在这里我的Activity为AppCompatActivity类,并

不是Activity这个类,所以在处理标题栏问题时会和普通的Activity有些区别,具体可参考标题栏的隐藏可参考:

关于隐藏Android标题栏总结


源码:全屏显示参考示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值