ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

应用程序主题研发有妙招!DevExtreme拥有多种预定义主题样式

应用程序主题研发有妙招!DevExtreme拥有多种预定义主题样式 DevExtreme拥有高性能的HTML5 / JavaScript小部件集合使您可以利用现代Web开发堆栈包括ReactAngularASP.NET CorejQueryKnockout等构建交互式的Web应用程序该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。DevExtreme新旧版本帮助文档下载可进QQ qun获取169725316DevExtreme提供Generic、Generic Compact和Material Design主题这些主题有以下颜色可供选择通用主题Material Design主题每个主题都是一个样式表其中包含CSS类的集合。以下样式表是开箱即用的CSS主题旨在自定义基于HTML的UI组件但是基于SVG的UI组件使用它们自己的主题来假定外观与特定CSS主题相匹配。应用主题要应用主题请在索引页的head标记中包含主题样式表您可以使用本地文件或从CDN.获取样式表。在运行时切换主题无需重新加载页面只有当主题属于同一个组时才可以使用此方法。例如你可以从Generic Light切换到任何其他通用主题但不能切换到Generic Compact或Material Design主题参见预定义主题。1. 在index页面中包含主题样式表如下所示将应用数据活动属性设置为true的主题。在下面的代码中它是Generic Lighthead !-- Generic themes -- link reldx-theme>DevExpress.ui.themes.current(generic.contrast); // When using SVG components // DevExpress.viz.refreshTheme(); // or when using modules import { themes } from devextreme/ui/themes; themes.current(generic.contrast); // When using SVG components // import { refreshTheme } from devextreme/viz/themes; // refreshTheme();重要提示如果注意到主题外观有任何问题请将初始化routine移到initialized(callback) 方法。使用页面重新加载这种方法适用于在任何主题之间切换但它涉及到页面重新加载1. 在index页面中包含主题样式表如下所示。语法与前面指令的第1步相同但是对于所有主题数据活动属性都被设置为false。head !-- ... -- link reldx-theme>var switchTheme function(themeName) { window.localStorage.setItem(dx-theme, themeName); window.location.reload(); }3. 在页面加载时恢复主题名称并将其传递给DevExpress.ui.themes.current(themeName)方法。如果在window.localStorage中找不到主题名称还可以指定要应用的主题。在下面的代码中它是Material Blue Light主题。DevExpress.ui.themes.current(window.localStorage.getItem(dx-theme) || material.blue.light); // or when using modules import themes from devextreme/ui/themes; themes.current(window.localStorage.getItem(dx-theme) || material.blue.light);重要提示如果注意到主题外观有任何问题请将初始化routine移到initialized(callback) 方法。颜色调色板调色板是与主题配色方案一起使用的次级配色方案您可以使用它们以不同的方式对应用程序的部分进行样式化例如当导航侧边栏应该是深色而内容区域应该是浅色时。颜色调色板是由带特定选择器前缀的限定范围的CSS规则定义的dx-swatch-xxx例如dx-swatch-green要将调色板应用到HTML文档的某个部分请按以下方式封装该部分div This content applies the primary color scheme div classdx-swatch-dark This content applies the dark color scheme /div /div重要提示调色板应该属于与主应用程序主题相同的主题Generic, Generic Compact或Material例如如果主应用程序主题是Material则只能使用基于Material主题的调色板。您可以使用DevExtreme CLI或ThemeBuilder UI生成调色板DevExtreme CLI下面的命令生成一个新的自定义调色板它使用Generic Dark作为基础主题 devextreme build-theme –-base-themegeneric.dark --make-swatch --output-color-schemedark // or without installing DevExtreme CLI globally npx -p devextreme-cli devextreme build-theme –-base-themegeneric.dark --make-swatch --output-color-schemedark该命令的结果是一个dx.generic.dark.css文件其中每个规则都以.dx-swatch-dark CSS selector为前缀。将文件移动到应用程序文件夹注册它并将swatch类添加到页面元素。ThemeBuilder UI单击工具栏上的Export来打开Theme Export pop-up对话框输入调色板的名称选中Save as a color swatch复选框然后执行最后一步。单击Download CSS File将CSS文件保存到本地。将生成的CSS文件移动到应用程序文件夹注册它并将swatch类添加到页面元素。注意调色板不能用于定制的基于SVG的UI组件因为UI组件的主题不是使用CSS的UI组件配置。通过预定义的CSS主题基于SVG的UI组件可以检测页面上使用的是哪个主题并应用相应的UI组件配置。当基于SVG组件位于调色板内时检测是不可能的但是您可以创建和应用一个UI组件配置使其在视觉上适配调色板。
返回列表