Unity中如何控制状态栏显示

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class AppStatusBar : MonoBehaviour
{
    // Inspector属性:是否在游戏运行时显示状态栏及其通知图标
    [Tooltip("状态栏是否显示状态及通知")]
    public bool statusBar;

    // Inspector属性:状态栏的样式,可从AndroidStatusBar.States枚举中选择
    [Tooltip("状态栏样式")]
    public AndroidStatusBar.States states = AndroidStatusBar.States.Visible;

    // 声明一个Button数组(注释掉了未使用的变量)
    // public Button[] button;

    // Awake方法在对象实例化后立即执行,用于初始化组件状态
    void Awake()
    {
        // 默认设置为显示状态栏
        statusBar = true;

        // 如果当前平台是Android
        if (Application.platform == RuntimePlatform.Android)
        {
            // 设置状态栏暗化模式,与statusBar变量相反。false表示显示所有状态和通知,true则仅显示电量和时间
            AndroidStatusBar.dimmed = !statusBar;

            // 根据Inspector中设置的状态来调整状态栏样式,这里默认设置为可见状态
            AndroidStatusBar.statusBarState = AndroidStatusBar.States.Visible;

            // 以下是其他可能的状态栏样式示例,用注释掉的代码表示:
            // 悬浮显示状态栏,不占用屏幕空间
            // AndroidStatusBar.statusBarState = AndroidStatusBar.States.VisibleOverContent;

            // 透明悬浮显示状态栏,不占用屏幕空间
            // AndroidStatusBar.statusBarState = AndroidStatusBar.States.TranslucentOverContent;

            // 隐藏状态栏
            // AndroidStatusBar.statusBarState = AndroidStatusBar.States.Hidden;

            // 如果希望根据Inspector中的states字段设置初始状态,可以取消下面一行的注释
            // AndroidStatusBar.statusBarState = states;
        }
    }

    // Start方法在Awake之后,在第一个帧开始前执行
    private void Start()
    {
        // 注释部分是一段未完成的逻辑,用于给4个按钮分别绑定事件监听器以改变状态栏样式

        // 在Start方法中直接设置状态栏为Visible(已取消注释)
        AndroidStatusBar.statusBarState = AndroidStatusBar.States.Visible;

        // 同样,如果希望在这里按照Inspector中设定的states值设置状态栏,可以取消下面一行的注释
        // AndroidStatusBar.statusBarState = states;
    }
}

旧版本

你可能感兴趣的:(unity,游戏引擎)