WebAppBuilder自定义主题
WebAppBuilder自定义主题
by 李远祥
基本步骤:
- 创建新主题的文件夹
- 注册新的主题到manifest.json 文件
- 覆盖HeaderController 部件的颜色、
- 覆盖panel的颜色
- 覆盖弹出框的颜色
- 自定义字体
主题可以自定义的部分包括Brand的颜色、字体和其他的基础UI属性。以下使用珠宝箱主题进行修改,新的主题修改涉及到UI的一些CSS属性
Background color
Text color
Font family
Font size
Padding
这些UI组件在珠宝箱主题的标题控制组件、panel组件和地图弹出框中。
- 创建一个新的主题文件夹
打开webappbuilder的~/client/stemapp/themes/JewelryBoxTheme/styles 文件夹,创建一个新的文件夹为myStyle。在mystyle文件夹下创建名为style.css文件。当然,也可以见将css文件所用到的其他资源如图片等关联到该CSS文件中。

- 注册新的主题到manifest.json 文件
打开~/client/stemapp/themes/JewelryBoxTheme/manifest.json文件
将以下关于myStyle的属性添加到styles节点中
A."name"—必须与myStyle的主题匹配
B. "description"—添加关于主题的描述
C."styleColor"定义主题在WebAppBuilder的中的显示背景颜色

D.重新启动webAppbuilder 可以看到宝箱主题里面新的样式,如下图

- 重写标题控制部件的颜色
更新标题控制部件的颜色方案,可以添加CSS代码到style.css文件中。
- 以下代码使背景变成白色(#fff)
.jimu-main-background {
background-color: #fff;
}
名为background-color 的类名是.jimu-main-background的属性,这是Jimu CSS框架和 其他UI包元素中的其中一个类型,详细的Jimu CSS类,可以查看 CSS框架 ,https://developers.arcgis.com/web-appbuilder/api-reference/css-framework.htm
- 使用以下代码将标题和子标题的颜色更改为灰色(#232323)

- 使用以下代码移除阴影效果和在底部添加一个边框。与第一和第二步不同的是,这里在使用了一个部件的特殊类名

注:特定的指定部件类名的写法一般是jimu-widget-{widgetname}这种形式
- 修改背景颜色,移除右边框和修改图标的透明度

现在可以查看具体的效果了,如下图

- 更改和对齐图标
让标题栏图标变小一点,使用下面代码

图标的边缘对齐设置

让图标变成圆形

让图标的图片变得更小

修改结果如下

可以修改选中后的样式

当屏幕缩小时标题栏按钮会自动进行组合,可以修改该组合按钮的样式,例如,一下代码分别为设置组合按钮的对齐方式、背景颜色、图标大小及文字样式




其最终显示效果如下

可以改变标题栏的连接样式,如下

具体效果

- 修改panel的颜色
Panel微件包括了可扩展微件和屏幕微件,所有的微件都可以修改其背景颜色和标题样式,例如下面代码修改了panel的标题颜色和标题背景

将pannel的边框去掉

展示结果如下

- 修改弹出框样式
类似panel的做法,改变弹出框的背景颜色做法如下


- 使用不同的字体
可以设置不同的字体
如果想使用一些网络字体,可以在style.css文件中引用,如

然后修改 .jimu-main-font. 节点值,例如

WebAppBuilder自定义主题的更多相关文章
- ModernUI教程:创建自定义主题
Modern UI WPF包括两个内置主题(dark与light).在1.0.3版本,您可以构建自定义的主题.Modern UI应用程序通常有在全局资源字典App.xaml中有如下定义 ...
- 如何优雅使用Sublime Text3(Sublime设置豆沙绿背景色和自定义主题)
♣Sublime Text3软件的下载 ♣设置字体的大小 ♣设置背景色和关键字颜色(Color Scheme 生成器) ♣快速生成html头文件 1.Sublime Text3软件的下载地址和包含的文 ...
- ExtJS4.2.1自定义主题(theme)样式详解
(基于Ext JS 4.2.1版本) UI组件 学习ExtJS就是学习组件的使用.ExtJS4对框架进行了重构,其中最重要的就是形成了一个结构及层次分明的组件体系,由这些组件形成了Ext的控件. Ex ...
- Android菜鸟的成长笔记(6)——剖析源码学自定义主题Theme
原文:Android菜鸟的成长笔记(6)--剖析源码学自定义主题Theme 还记得在Android菜鸟的成长笔记(3)中我们曾经遇到了一个问题吗?"这个界面和真真的QQ界面还有点不同的就是上 ...
- Sublime Text3自定义主题
设置背景色和关键字颜色(Color Scheme 生成器): Color Scheme 生成器地址:http://tmtheme-editor.herokuapp.com/ 首先:点击General- ...
- Webappbuilder自定义widget模板
Webappbuilder自定义widget模板 by 李远祥 到\\widgets\samplewidgets目录下拷贝 CustomWidgetTemplate 文件并重命名为MyWidget 设 ...
- Material使用05 自定义主题、黑夜模式\白天模式切换
需求: 1 不使用materil依赖内建的主题,使用自己创建的主题 2 利用自己创建的主题实现白天模式和黑夜模式 1 自定义主题 1.1 创建自定义主题文件 them.scss // 引入materi ...
- 18 UI美化自定义主题样式代码
自定义主题 假设我们我们对现有的样式不大满意 那么可在工程目录res/values下的styles.xml自定义 方法: 1. res/values下的styles.xml文件中自定义一个标签 < ...
- 演练Ext JS 4.2自定义主题
本文将根据API文档中关于主题的介绍做的一次演练,以便熟悉自定义主题的过程. 练习环境: Sencha Cmd v4.0.1.45 Ruby 1.9.3-p392 firefox 26 首先,使用以下 ...
随机推荐
- 函数(swift)
输入输出参数(In-Out Parameters) 如果你想要一个函数可以修改参数的值,并且想要在这些修改在函数调用结束后仍然存在,那么就应该把这个参数定义为输入输出参数(In-Out Paramet ...
- LNMP(Linux+Nginx+Mysql+PHP---源码)环境搭建
LNMP(Linux+Nginx+Mysql+PHP(Perl)) Linux:[root@dep5 mysql]# cat /etc/issueRed Hat Enterprise Linux Se ...
- 流水线技术原理和Verilog HDL实现(转)
源:流水线技术原理和Verilog HDL实现 所谓流水线处理,如同生产装配线一样,将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行.这使得操作执 ...
- 【 bzoj4537】HNOI2016 最小公倍数
首先将边按a的值分组,每$\sqrt{m}$一组. 对于每一组,将符合一组a的询问选出来,将这些询问和这一块之前的边(a一定小于这些询问)按b排序,然后交替插入,询问,对于一个询问,在当前块也有可能有 ...
- ucos互斥信号量解决优先级反转问题
在可剥夺性的内核中,当任务以独占方式使用共享资源的时候,会出现低优先级任务高于高优先级任务运行的情况,这种情况叫做优先级反转,对于实时操作系统而言,这是一场灾难,下面我们来说说优先级反转的典型环境. ...
- git 常用命令--Linus Torvalds
1.git log 显示仓库的历史记录,默认显示所有记录, 1)git log -m,显示最近的几次提交,, 2)git log --pretty=oneline 显示提交hash和注释 -p 按补 ...
- iOS Socket第三方开源类库 ----AsyncSocket 分类: ios相关 ios技术 2015-03-11 22:14 59人阅读 评论(0) 收藏
假如你也是一个java程序员,而你又不是很懂Socket. 下面我的这篇文章也许能帮助你一些. http://xiva.iteye.com/blog/993336 首先我们写好上面文章中的server ...
- 概率dp初探
论文链接: http://wenku.baidu.com/link?url=vEcfxpqAvGRf6JL9IL2R6v8plBgPnaP3tKp5niOBmoajk0y4CcpwFzL4SkfGS ...
- UVa 11790 - Murcia's Skyline
题目大意:给一个建筑的序列,建筑用高度和宽度描述,找出按高度的LIS和LDS,最长XX子序列的长度按照序列中建筑的宽度和进行计算. 其实就是带权的最长XX子序列问题,原来是按个数计算,每个数权都是1, ...
- Myeclipse SVN 修改用户名和密码
转自:http://blog.csdn.net/chow__zh/article/details/7731497 解决方案: 在Eclipse使用SVN的过程中大多数人往往习惯把访问SVN的用户名密码 ...