您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
83 行
3.3 KiB
83 行
3.3 KiB
using Unity.UIWidgets.material;
|
|
using Unity.UIWidgets.ui;
|
|
|
|
namespace UIWidgetsGallery.gallery {
|
|
public class GalleryTheme {
|
|
GalleryTheme(string name, ThemeData data) {
|
|
this.name = name;
|
|
this.data = data;
|
|
}
|
|
|
|
public readonly string name;
|
|
public readonly ThemeData data;
|
|
|
|
public static readonly GalleryTheme kDarkGalleryTheme = new GalleryTheme("Dark", _buildDarkTheme());
|
|
|
|
public static readonly GalleryTheme kLightGalleryTheme = new GalleryTheme("Light", _buildLightTheme());
|
|
|
|
static TextTheme _buildTextTheme(TextTheme baseTheme) {
|
|
return baseTheme.copyWith(
|
|
title: baseTheme.title.copyWith(
|
|
fontFamily: "GoogleSans"
|
|
)
|
|
);
|
|
}
|
|
|
|
static ThemeData _buildDarkTheme() {
|
|
Color primaryColor = new Color(0xFF0175c2);
|
|
Color secondaryColor = new Color(0xFF13B9FD);
|
|
ThemeData baseTheme = ThemeData.dark();
|
|
ColorScheme colorScheme = ColorScheme.dark().copyWith(
|
|
primary: primaryColor,
|
|
secondary: secondaryColor
|
|
);
|
|
return baseTheme.copyWith(
|
|
primaryColor: primaryColor,
|
|
buttonColor: primaryColor,
|
|
indicatorColor: Colors.white,
|
|
accentColor: secondaryColor,
|
|
canvasColor: new Color(0xFF202124),
|
|
scaffoldBackgroundColor: new Color(0xFF202124),
|
|
backgroundColor: new Color(0xFF202124),
|
|
errorColor: new Color(0xFFB00020),
|
|
buttonTheme: new ButtonThemeData(
|
|
colorScheme: colorScheme,
|
|
textTheme: ButtonTextTheme.primary
|
|
),
|
|
textTheme: _buildTextTheme(baseTheme.textTheme),
|
|
primaryTextTheme: _buildTextTheme(baseTheme.primaryTextTheme),
|
|
accentTextTheme: _buildTextTheme(baseTheme.accentTextTheme)
|
|
);
|
|
}
|
|
|
|
static ThemeData _buildLightTheme() {
|
|
Color primaryColor = new Color(0xFF0175c2);
|
|
Color secondaryColor = new Color(0xFF13B9FD);
|
|
ColorScheme colorScheme = ColorScheme.light().copyWith(
|
|
primary: primaryColor,
|
|
secondary: secondaryColor
|
|
);
|
|
ThemeData baseTheme = ThemeData.light();
|
|
return baseTheme.copyWith(
|
|
colorScheme: colorScheme,
|
|
primaryColor: primaryColor,
|
|
buttonColor: primaryColor,
|
|
indicatorColor: Colors.white,
|
|
splashColor: Colors.white24,
|
|
splashFactory: InkRipple.splashFactory,
|
|
accentColor: secondaryColor,
|
|
canvasColor: Colors.white,
|
|
scaffoldBackgroundColor: Colors.white,
|
|
backgroundColor: Colors.white,
|
|
errorColor: new Color(0xFFB00020),
|
|
buttonTheme: new ButtonThemeData(
|
|
colorScheme: colorScheme,
|
|
textTheme: ButtonTextTheme.primary
|
|
),
|
|
textTheme: _buildTextTheme(baseTheme.textTheme),
|
|
primaryTextTheme: _buildTextTheme(baseTheme.primaryTextTheme),
|
|
accentTextTheme: _buildTextTheme(baseTheme.accentTextTheme)
|
|
);
|
|
}
|
|
}
|
|
}
|