首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» 和 Polymer 一起加入 Web 组件革命(3)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
和 Polymer 一起加入 Web 组件革命(3)
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-11-13 19:06
|
只看该作者
和 Polymer 一起加入 Web 组件革命(3)
组合:Web 组件的基础通过将另外的可视化 Web 组件组装到一个 <core-scaffold> 实例中,可以制造出 Web 应用程序(或单页面移动应用程序)的核心 UI 结构。下一个例子将显示如何给侧边栏添加一个选择菜单,并为当内容滚动时收缩的内容面板添加一个特别高的标题。
使用窄屏幕宽度启动应用程序时,标题区域是特别高的,以便有足够空间添加其他的 UI 组件,比如标签栏,如图 5 中所示。
图 5. 具有特别高的标题的内容面板
向下滚动面板的内容时,高标题会变短,最终与标准的工具栏高度一样,如图 6 中所示。
图 6. 高标题收缩至标准的工具栏高度
如果再次向下滚动内容,标题又会扩展。如果随时单击 hamburger 菜单,侧边栏将带着一个完整菜单,并与一个带有标题与 dW 标志的工具栏同时出现,如图 7 中所示。
图 7. 使用可选择菜单与主题工具栏扩展后的侧边栏抽屉
这个例子的代码位于 dwpcompose/index.html 中(参见 )。 图 8 显示了组合在一起形成骨架 UI 的 Web 组件。
图 8. 通过组合 Polymer 核心组件来构造 UI
现在的代码包含更多的 HTML 导入,分别用于组合中的 Web 每个组件,其中包括用于 Roboto 字体(一种用于移动设备的清晰字体,是目前 Android 设备的主流字体)的一个组件:
1
2
3
4
5
6
<link rel="import" href="../bower_components/font-roboto/roboto.html">
<link rel="import" href="../bower_components/core-scaffold/core-scaffold.html">
<link rel="import" href="../bower_components/core-icon-button/core-icon-button.html">
<link rel="import" href="../bower_components/core-menu/core-menu.html">
<link rel="import" href="../bower_components/core-header-panel/core-header-panel.html">
<link rel="import" href="../bower_components/core-item/core-item.html">
FOUC文档样式短暂失效(Flash of Unstyled Content)是指在某些版本的浏览器中,无样式的 HTML 元素短暂可见 — 在创建可视元素之后和完全应用 CSS 样式之前会出现这种情况。
<core-scaffold> 的 mode 属性现在被置为 waterfall-tall,指示 Web 组件处理高标题的折叠。<body> 标签上的 unresolved 属性将会激活代码,防止某些浏览器上出现 现象。touch="auto" 属性确保触摸行为在所有受支持的浏览器上得到的处理都是相同的:
1
2
<body unresolved touch="auto">
<core-scaffold mode="waterfall-tall">
收起的侧边栏包含在 <core-scaffold> 元素内。标题包含两个组成部分:<core-toolbar> 和位于 <core-header-panel> 容器内的 <core-menu>。
<core-header-panel> 上的 navigation 属性通知 <core-scaffold> 容器,这是一个用于导航式可收回抽屉的元素。<core-header-panel> 也将自己的模式置为 seamed,这表示所有内容都将与标题一起滚动。<core-toolbar> 包含 dW 标志图标和标题:
1
2
3
4
<core-header-panel navigation flex mode="seamed">
<core-toolbar><img src='/images/dwlogo.svg' width='50px' height='30px'>
<span flex>Compose</span>
</core-toolbar>
<core-menu> 包含两项内容,分别名为 s1 和 s2。因为 selected 属性的值为 s1,一开始选择的是 s1 项。名为 explore 的图标用于两个菜单项,它来自于 <core-icon> 集合(早先已经导入):
1
2
3
4
5
<core-menu id='menu' selected="s1" >
<core-item name="s1" icon="explore" label="Selection 1"></core-item>
<core-item name="s2" icon="explore" label="Selection 2"></core-item>
</core-menu>
</core-header-panel>
在 Polymer 页面上可以看到所有可用的图标以及它们相应的名称。
右侧面板的工具栏包含 hamburger 按钮,这是由组件内部管理的。但通过给一个元素添加 tool 属性,就可以将这个属性添加到这个工具栏。在例子中,在工具栏的底部添加了一个 "Components" 标题。此外,还有一个设置按钮(实际上是一个 <core-icon-button> 元素,带有一个名为 more-vert 的图标)被添加到工具栏的右侧。带有 flex 属性的空 <span> 占据了中心的空闲空间。Polymer 为布局属性(比如这里使用的 flex)提供一种直观的声明语法,极大地简化了底层 的部署。
最后一点但并非最不重要的一点,content 类的 <div> 被
distributed
(Web Components 术语,意思是插入) 到 <core-scaffold> 的右侧面板的内容区域中:
1
2
3
4
5
6
7
8
9
<div tool class="bottom indent">Components</div>
<span tool flex></span>
<core-icon-button tool icon="more-vert" on-tap="{{settingsAction}}"></core-icon-button>
<div class="content">First line<br/>Second line</div>
</core-scaffold>
</body>
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议