版本:Unity 6 (6000.0)
语言English
  • C#

AndroidApplication.onConfigurationChanged

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的建议,但我们会阅读用户提出的每一条建议,并在适用时会进行更新。

关闭

提交失败

由于某些原因,无法提交您的建议更改。请在几分钟后 <a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

说明

当应用程序运行时检测设备配置变化的回调。

Unity 会为与以下方面相关的配置更改调用此回调。

  • 方向
  • 键盘可见性
  • 深色主题
  • 屏幕布局
  • 屏幕尺寸

有关配置更改的更多信息,请参阅 Android 开发者文档

using UnityEngine;
using UnityEngine.Android;

public class MyApplication : MonoBehaviour { AndroidConfiguration m_PrevConfig;

public void Start() { m_PrevConfig = new AndroidConfiguration(AndroidApplication.currentConfiguration); AndroidApplication.onConfigurationChanged += OnConfigurationChanged; }

public void OnDisable() { AndroidApplication.onConfigurationChanged -= OnConfigurationChanged; }

private void OnConfigurationChanged(AndroidConfiguration newConfig) { if (m_PrevConfig.orientation != newConfig.orientation || m_PrevConfig.screenLayoutSize != newConfig.screenLayoutSize) { ApplyUIChanges(newConfig.orientation, newConfig.screenLayoutSize); }

if (m_PrevConfig.uiModeNight != newConfig.uiModeNight) { ApplyUINightMode(newConfig.uiModeNight); }

if (m_PrevConfig.screenHeightDp != newConfig.screenHeightDp || m_PrevConfig.screenWidthDp != newConfig.screenWidthDp) { ApplyScreenSizeChanges(); }

m_PrevConfig.CopyFrom(newConfig); }

private void ApplyUIChanges(AndroidOrientation orientation, AndroidScreenLayoutSize layoutSize) {

}

private void ApplyUINightMode(AndroidUIModeNight nightMode) {

}

private void ApplyScreenSizeChanges() {

} }