您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

237 行
9.0 KiB

using System;
using System.Collections.Generic;
using Unity.UIWidgets.async;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.ui;
namespace Unity.UIWidgets.service {
public enum DeviceOrientation {
potraitUp,
landscapeLeft,
portraitDown,
landscapeRight
}
public class ApplicationSwitcherDescription {
public ApplicationSwitcherDescription(
string label = null,
int? primaryColor = null
) {
this.label = label;
this.primaryColor = primaryColor;
}
public readonly string label;
public readonly int? primaryColor;
}
public enum SystemUiOverlay {
top,
bottom
}
public class SystemUiOverlayStyle {
public SystemUiOverlayStyle(
Color systemNavigationBarColor = null,
Color systemNavigationBarDividerColor = null,
Brightness? systemNavigationBarIconBrightness = null,
Color statusBarColor = null,
Brightness? statusBarBrightness = null,
Brightness? statusBarIconBrightness = null
) {
this.systemNavigationBarColor = systemNavigationBarColor;
this.systemNavigationBarDividerColor = systemNavigationBarDividerColor;
this.systemNavigationBarIconBrightness = systemNavigationBarIconBrightness;
this.statusBarColor = statusBarColor;
this.statusBarBrightness = statusBarBrightness;
this.statusBarIconBrightness = statusBarIconBrightness;
}
public readonly Color systemNavigationBarColor;
public readonly Color systemNavigationBarDividerColor;
public readonly Brightness? systemNavigationBarIconBrightness;
public readonly Color statusBarColor;
public readonly Brightness? statusBarBrightness;
public readonly Brightness? statusBarIconBrightness;
public static readonly SystemUiOverlayStyle light = new SystemUiOverlayStyle(
systemNavigationBarColor: new Color(0xFF000000),
systemNavigationBarDividerColor: null,
statusBarColor: null,
systemNavigationBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.light,
statusBarBrightness: Brightness.dark
);
public static readonly SystemUiOverlayStyle dark = new SystemUiOverlayStyle(
systemNavigationBarColor: new Color(0xFF000000),
systemNavigationBarDividerColor: null,
statusBarColor: null,
systemNavigationBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.dark,
statusBarBrightness: Brightness.light
);
public Dictionary<string, object> _toMap() {
return new Dictionary<string, object> {
{"systemNavigationBarColor", systemNavigationBarColor?.value},
{"systemNavigationBarDividerColor", systemNavigationBarDividerColor?.value},
{"statusBarColor", statusBarColor?.value},
{"statusBarBrightness", statusBarBrightness?.ToString()},
{"statusBarIconBrightness", statusBarIconBrightness?.ToString()},
{"systemNavigationBarIconBrightness", systemNavigationBarIconBrightness?.ToString()}
};
}
public override string ToString() {
return _toMap().ToString();
}
public SystemUiOverlayStyle copyWith(
Color systemNavigationBarColor = null,
Color systemNavigationBarDividerColor = null,
Color statusBarColor = null,
Brightness? statusBarBrightness = null,
Brightness? statusBarIconBrightness = null,
Brightness? systemNavigationBarIconBrightness = null
) {
return new SystemUiOverlayStyle(
systemNavigationBarColor: systemNavigationBarColor ?? this.systemNavigationBarColor,
systemNavigationBarDividerColor:
systemNavigationBarDividerColor ?? this.systemNavigationBarDividerColor,
statusBarColor: statusBarColor ?? this.statusBarColor,
statusBarIconBrightness: statusBarIconBrightness ?? this.statusBarIconBrightness,
statusBarBrightness: statusBarBrightness ?? this.statusBarBrightness,
systemNavigationBarIconBrightness: systemNavigationBarIconBrightness ??
this.systemNavigationBarIconBrightness
);
}
public override int GetHashCode() {
var hashCode = systemNavigationBarColor.GetHashCode();
hashCode = (hashCode * 397) ^ (systemNavigationBarDividerColor != null
? systemNavigationBarDividerColor.GetHashCode()
: 0);
hashCode = (hashCode * 397) ^ (statusBarColor != null ? statusBarColor.GetHashCode() : 0);
hashCode = (hashCode * 397) ^
(statusBarBrightness != null ? statusBarBrightness.GetHashCode() : 0);
hashCode = (hashCode * 397) ^
(statusBarIconBrightness != null ? statusBarIconBrightness.GetHashCode() : 0);
hashCode = (hashCode * 397) ^ (systemNavigationBarIconBrightness != null
? systemNavigationBarIconBrightness.GetHashCode()
: 0);
return hashCode;
}
public bool Equals(SystemUiOverlayStyle other) {
if (ReferenceEquals(null, other)) {
return false;
}
if (ReferenceEquals(this, other)) {
return true;
}
return other.systemNavigationBarColor == systemNavigationBarColor &&
other.systemNavigationBarDividerColor == systemNavigationBarDividerColor &&
other.statusBarColor == statusBarColor &&
other.statusBarIconBrightness == statusBarIconBrightness &&
other.statusBarBrightness == statusBarIconBrightness &&
other.systemNavigationBarIconBrightness == systemNavigationBarIconBrightness;
}
public override bool Equals(object obj) {
if (ReferenceEquals(null, obj)) {
return false;
}
if (ReferenceEquals(this, obj)) {
return true;
}
if (obj.GetType() != GetType()) {
return false;
}
return Equals((SystemUiOverlayStyle) obj);
}
public static bool operator ==(SystemUiOverlayStyle left, SystemUiOverlayStyle right) {
return Equals(left, right);
}
public static bool operator !=(SystemUiOverlayStyle left, SystemUiOverlayStyle right) {
return !Equals(left, right);
}
}
public class SystemChrome {
/*public static Future setPreferredOrientations(List<DeviceOrientation> orientations) {
return SystemChannels.platform.invokeMethod(
"SystemChrome.setPreferredOrientations",
_stringify(orientations)
);
}
public static Future setApplicationSwitcherDescription(ApplicationSwitcherDescription description){
return SystemChannels.platform.invokeMethod(
"SystemChrome.setApplicationSwitcherDescription",
new Dictionary<string, object>{
{"label",description.label},
{"primaryColor", description.primaryColor},
}
);
}
static Future setEnabledSystemUIOverlays(List<SystemUiOverlay> overlays) {
return SystemChannels.platform.invokeMethod(
"SystemChrome.setEnabledSystemUIOverlays",
_stringify(overlays)
);
}
public static Future restoreSystemUIOverlays() {
return SystemChannels.platform.invokeMethod(
"SystemChrome.restoreSystemUIOverlays",
null
);
}
public static void setSystemUIOverlayStyle(SystemUiOverlayStyle style) {
D.assert(style != null);
if (_pendingStyle != null) {
_pendingStyle = style;
return;
}
if (style == _latestStyle) {
return;
}
_pendingStyle = style;
scheduleMicrotask(()=> {
D.assert(_pendingStyle != null);
if (_pendingStyle != _latestStyle) {
return SystemChannels.platform.invokeMethod(
"SystemChrome.setSystemUIOverlayStyle",
_pendingStyle._toMap()
);
_latestStyle = _pendingStyle;
}
_pendingStyle = null;
});
}*/
public static SystemUiOverlayStyle _pendingStyle;
public static SystemUiOverlayStyle latestStyle {
get {
return _latestStyle;
}
}
static SystemUiOverlayStyle _latestStyle;
}
}