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;
}
}
旧版本