Android显示界面覆盖状态栏

 

   界面效果:

    image

一、工程创建

    创建No Activity工程,而非其它自带状态栏的工程。实现界面显示部分代码即可,无需额外操作。

    image  image

二、新建Activity文件

    1、因为我们创建的No Activity工程没有MainActivity,因此需要我们在该文件下新建一个Java Class文件,取名"MainActivity"用于显示界面,文件名可自定义,但需要继承Activity类。

    2、跟其它模板工程一样,我们实现MainActivity中的方法。

    image

三、新建xml文件

    1、因为我们创建的No Activity工程没有layout布局文件夹,也没有activity_main.xml布局文件,因此需要我们在该文件下新建一个layout文件夹,再在文件夹下新建File"activity_main.xml"。

    2、跟其它模板工程一样,我们实现activity_main.xml中的布局。

    image

四、调整AndroidManifest.xml文件

      1、因为我们创建的No Activity工程AndroidManifest中没有包含Activity的描述部分,我们可以像其它有界面的模板工程一样添加进来,注意绿色标注的地方不要遗漏。

    image

 此时,我们的界面就能显示覆盖状态栏了,不过显示电池电量的图标仍然是置于最上层的,如果想隐藏状态栏,可参考二、新建Activity文件中方法实现部分。

六、整体代码

  1、MainActivity.java

package com.xxun.watch.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 设置全屏 (状态栏隐藏)
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
}

  2、activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:orientation="vertical">
    <TextView
        android:id="@+id/main_txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="12"
        android:gravity="center"
        />
    <TextView
        android:id="@+id/main_txt_x"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="34"
        android:gravity="center"
        />
    <TextView
        android:id="@+id/main_txt_y"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="56"
        android:gravity="center"
        />
    <TextView
        android:id="@+id/main_txt_z"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="78"
        android:gravity="center"
        />

</LinearLayout>

  3、AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication"
        tools:targetApi="31" >

        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:label="@string/app_name"
            android:theme="@style/Theme.MyApplication" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 

posted @ 2025-11-24 18:07  耿通宇  阅读(3)  评论(0)    收藏  举报