Flex精华摘要 5:使用样式和字体

emWin控件API设计解析:从状态样式分离到嵌入式GUI实战优化 在嵌入式GUI开发中,控件API设计遵循着状态、样式与行为分离的核心原则,这一设计哲学确保了代码的可维护性与运行效率。状态管理控件的交互表现,样式定义其视觉外观,而行为则关联用户输入响应。这种分离机制在资源受限的嵌入式环境中尤为重要,它通过全局默认值与实例覆盖相结合的模式,显著提升了开发效率与界面一致性。以emWin中的BUTTON和CHECKBOX控件为例,其API围绕状态索引、位图管理和通知机制展开,支持从基础文本按钮到复杂流位图渲染等多种场景。理解并应用这些设计模式,能够帮助开发者在嵌入式设备上构建响 阅读详情

Flex所支持的样式比Flash要丰富,样式定义的方法也很多。这也是Flex比Flash要强大、适合网页开发的地方之一。
样式定义类型
1. 外部样式表

<mx:Style source='/css/myStyle.css'/>

 

1.


Flex
会调用全局样式表global.css,该全局样式表由flex-config.xml定义,如:

<global-css-url>/WEB-INF/flex/global.css</global-css-url>

 

1.


系统默认的样式表文件global.css文件其实没有任何样式定义,我们可以手动添加全局样式,也可以更改默认的全局样式文件路径。如,把全局样式文件该为:

<global-css-url>/css/styles.css</global-css-url>

 

1.


在这里顺便提一点,定义外部css文件的时候,颜色样式有四种定义方式:

: .myclass { fillColor: #6666CC } // 16进制颜色格式
2 : .myclass { borderColor: rgb(77%,22%,0%) } // RGB 颜色格式
3 : .myclass { errorColor: rgb(0,255,0) } // 10进制RGB颜色格式
4 : .myclass { color: Blue } // VGA 颜色名称格式

 

1



2.本地样式定义
使用<mx:Style>来定义当前文件的样式
下面的例子定义了myFontStyle子类样式,要使用对应的样式可以在组件中使用styleName属性来应用样式。

<mx:Style>

 

2. .myFontStyle {  fontSize: 15  }

3. </mx:Style>

4. <mx:Button id='myButton' styleName='myFontStyle' label='Click Here' >

1.


下面的样式则定义了所有Button组件的样式,使用该方式定义的样式在使用的时候不需要指定样式名。

<mx:Style>

 

2. Button {  fontSize: 15  }

3. </mx:Style>

4. <mx:Button id='myButton' label='Click Here' >

1.



3. 内嵌样式定义
对个别需要特殊处理的组件,可以使用下面的方式进行内嵌样式定义

<mx:Button id='myButton' fontSize='15' color='0x9966CC' label='My Button'/>

 

1.



4. 使用脚本样式定义
这种方法使用了Flash传统的AS脚本方式来定义样式,具有更强大的灵活性,并且可以使用StyleManager类以及getStyle() 和 setStyle() 方法,如下所示:

 

1. <mx:Script>
 

2. <![CDATA[
 

3. //使用styleManger类
 

4. mx.styles.StyleManager.styles.ToolTip.fontWeight = 'bold';
 

5. //获取组件样式
 

6. lb1.text=ip1.getStyle('fontSize');
 

7. //设置组件样式
 

8. lb1.text=ip1.setStyle('fontSize',newSize);
 

9. ]]>

10.  </mx:Script>

 



如果三种样式定义方式同时使用的话,优先级别从高到低依次为:
内嵌式样式>本地样式定义(脚本样式定义)>外部样式定义

特殊样式定义
在进行样式定义的时候,我们需要注意几种Flex特殊的样式定义
1.
全局样式定义
对所有未被定义的控制组件应用global样式

global { 

 

2. fontSize:22;

3. textDecoration: underline;

4.  }

1.


2.
应用程序样式定义
Application
标记是Flex的根标记,Application样式用来定义未被定义的容器以及子容器的样式

Application { 

 

2. marginLeft: 0px;

3. marginRight: 0px;

4. marginTop: 0px;

5. marginBottom: 0px;

6. horizontalAlign: 'left';

7.  }

1.



关于字体的样式定义
1. 使用设备字体

.myClass { 

 

2. fontFamily: Arial, Helvetica, '_sans';

3. color: Red;

4. fontSize: 22;

5. fontWeight: bold;

6.  }

1.


2. 使用移植字体

 

1. <mx:Style>
 

2. @font-face { 
 

3. src:url('akbar.ttf');
 

4. fontFamily: myfont;
 

5.  }
 

6. @font-face { 
 

7. src:url('akbar.ttf');
 

8. fontWeight: bold;
 

9. fontFamily: myfontBold;

10.   }

11.  </mx:Style>

 


在定义了该字体样式后,就可以通过fontFamily来应用该字体样式,如:

Accordion { 

 

2. fontFamily: myfont

3.  }

1.

 

uni-app 入门实战:从零开发多端应用,掌握跨平台核心技术 跨平台开发框架通过一套代码实现多端部署,其核心原理在于将通用代码编译为各平台(如iOS、Android、Web及各类小程序)的原生渲染指令或WebView页面。这种技术显著提升了开发效率,降低了多端适配的复杂性和成本,尤其适合快速构建MVP(最小可行产品)和中小型应用。在工程实践中,开发者需要掌握条件编译、rpx自适应单位、Flex布局以及uni.request等核心API,以应对不同平台的差异化需求。本文以uni-app为例,深入解析其开发环境搭建、项目结构、功能实现及性能优化,帮助前端开发者高效启动首个 阅读详情

相关推荐

CSS平铺式布局实战:Grid+aspect-ratio+clamp响应式网格设计

平铺式布局(Tiled Layout)是一种以内容为中心、强调单元格独立性与视觉一致性的现代CSS组织范式,其核心原理在于通过显式轨道控制(Grid)、内在比例约束(aspect-ratio)和流体尺寸调节(clamp)协同解决内容容器失配问题。相比传统Flex线性布局,它在仪表盘、商品墙、作品集等行列对齐场景中具备更低重排开销、更高DPR鲁棒性与更强语义可访问性;技术价值体现在无需JS即可实现宽高比锁定、文字多行省略、悬停深度反馈与深色模式无缝切换。典型应用场景包括电商后台卡片墙、SaaS控制台KPI模块

weixin_33851177的博客 365

[冷枫]Flex精华摘要 5:使用样式和字体

Flex所支持的样式比Flash要丰富,样式定义的方法也很多。这也是Flex比Flash要强大、适合网页开发的地方之一。样式定义类型1. 外部样式表mx:Style source=/css/myStyle.css/>   1. Flex会调用全局样式表global.css,该全局样式表由flex-config.xml定义,如:css-url>/W

没有天赋的IT人 879

HTML+CSS实战笔记:从盒模型到Flexbox/Grid的布局核心解析

在前端开发中,HTML与CSS是构建网页的基石,理解其核心原理是掌握现代Web技术的关键。HTML负责定义文档的结构与语义,而CSS则控制着页面的表现与布局。其中,盒模型是CSS布局的基石,它定义了元素内容、内边距、边框和外边距的计算方式,直接影响着页面元素的尺寸与定位。基于盒模型,现代CSS布局方案如Flexbox和Grid提供了强大的一维与二维布局能力,能够高效实现复杂的页面结构与响应式设计。Flexbox擅长处理单行或单列的项目排列与对齐,而Grid则为整体页面布局提供了精细的网格控制。这些技术共同构

457

移动端精华知识

一、css部分 1.meta标签 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/> 移动端加上这个标签才是真正的自适应,不加的话,假如你把一个980px宽度(手机端常规是980)的PC网页 放在手机上显示,倒也能正常显示不出现滚动条,不过是移动设备...

weixin_30497527的博客 141

嵌入式GUI开发:emWin窗口对象核心机制与自定义控件实践

在嵌入式系统开发中,图形用户界面(GUI)是实现人机交互的关键组件。其核心原理在于通过窗口对象(Widgets)封装图形绘制、事件处理和状态管理,为开发者提供高效的API接口。这种基于消息驱动的架构,结合重绘机制和内存设备技术,能显著提升界面流畅度并降低资源消耗,尤其适用于处理器性能与内存受限的嵌入式环境。从技术价值看,掌握窗口对象机制不仅能快速构建标准界面,更能通过自定义控件开发满足特定项目需求,实现高度定制化的交互体验。在智能家居面板、工业HMI、医疗仪器及车载信息娱乐系统等应用场景中,高效、稳定的GU

weixin_34126557的博客 374

HTML-in-Canvas API:用Canvas性能运行HTML生态的前端渲染新范式

在前端开发领域,DOM渲染引擎的性能瓶颈一直是高性能应用面临的挑战,尤其是在数据可视化和图形编辑器等场景中。传统DOM操作会触发重排和重绘,导致卡顿和内存压力,而Canvas虽然性能优越,却失去了HTML/CSS的声明式布局和无障碍访问能力。HTML-in-Canvas API通过将HTML和CSS编译到Canvas上渲染,实现了高性能与易用性的结合。这项技术让开发者能够继续使用熟悉的HTML/CSS生态,同时利用Canvas的渲染效率,适用于需要复杂UI交互且对性能有极端要求的场景,如实时协作白板和大型数

weixin_34296641的博客 568

超细的CSS学习笔记(CSS详解)

从最基本的 CSS 概念开始,学习如何使用 CSS 同时控制多重网页的样式和布局。同时涉及最新版本 CSS3 的内容,掌握新的标准化组件。

weixin_44009656的博客 4793

VISTA基准测试:AI如何从视觉设计稿自动生成完整Web应用

视觉语言模型(VLM)作为多模态人工智能的重要分支,通过理解图像内容并生成自然语言描述,实现了计算机视觉与自然语言处理的深度融合。其核心原理在于将图像编码为特征向量,再通过大语言模型解码为结构化语义信息,这一过程需要强大的跨模态对齐能力。在技术价值上,VLM不仅提升了AI对复杂视觉场景的理解精度,更在自动化内容生成、智能交互等工程实践中展现出巨大潜力。特别是在前端开发领域,将设计稿自动转化为可运行代码的需求日益增长,这直接催生了VISTA这类专注于“视觉稿到Web应用”的基准测试。该测试要求智能体(Agen

weixin_33816946的博客 807

前端实战:用HTML、CSS与JS打造交互式爱心网页

在Web前端开发中,HTML、CSS和JavaScript是构建现代网页的三大核心技术。HTML负责页面结构与内容语义化,CSS则通过盒模型、定位、Flexbox布局以及CSS3的transform、animation等属性实现视觉呈现与动画效果。JavaScript为静态页面注入交互逻辑,响应用户事件,实现动态数据更新。这些技术的结合,能够创造出富有表现力与情感化的用户体验,在个人作品、节日祝福、情感化设计等场景中具有广泛应用价值。本文以【爱心网页】这一具体项目为例,通过【CSS绘制】与【SVG路径】两种

weixin_34183910的博客 452

免安装版Notepad++终极配置:右键菜单+图标美化+多文件批量处理(2024新版)

本文详细介绍了如何为免安装版Notepad++进行终极配置,包括右键菜单添加、图标美化以及多文件批量处理功能。通过注册表编辑和高级定制,用户可以在便携版中实现与安装版相同的功能体验,同时保持系统整洁。特别适合开发者、系统管理员和效率追求者使用。

nut55的博客 830

五、e2studio VS STM32CubeIDE之汉化

介绍stm32cubeide汉化方案和汉化包e2studio自带汉化包,在安装过程中可选择安装e2studio STM32CubeIDE切换中英文。

cl234583745的博客 1770

大学生静态HTML个人网站制作:从零到部署的完整实战指南

Web开发的核心基础是理解HTML、CSS和JavaScript这三大基石。HTML定义了网页的结构与语义,CSS通过盒模型和Flexbox等布局技术控制视觉呈现,而JavaScript则负责实现交互逻辑。掌握这些原生技术对于构建稳定、高效的网页至关重要,也是学习React、Vue等现代前端框架的必经之路。在工程实践中,采用语义化标签、响应式设计和性能优化能显著提升网站的可访问性与用户体验。这些技术特别适合应用于个人作品集、博客或展示型网站的开发。本文聚焦于大学生如何从零开始,运用DIV布局和原生JavaS

weixin_30835649的博客 315

Vivado 2023.1及更早版本永久License全功能解锁:HLS、System Generator等IP核使用详解

本文深入解析Vivado 2023.1及更早版本的全功能许可证,详细指导如何解锁HLS、System Generator等高级IP核。通过许可证类型对比、功能验证方法和实战应用指南,帮助FPGA开发者充分利用Vivado工具套件,提升复杂系统设计和算法加速的效率。

weixin_31286719的博客 385

响应式网页设计简单入门

Overview: 构造基本的HTML页面 动态加载样式表 Viewport 字体缩放 侧边栏 导航菜单 图片自适应 其他 总结 说到响应式网页设计(Responsive web design),最近在谷歌加上碰到个奇葩贴子,通过一个原始到无法再简单的网页Motherfucking Website及满屏幕的fuck道出了网页设计的真谛,这孩子不是个激进分子...

weixin_30883777的博客 60

UniApp X 网络请求避坑指南:从 JS 到 UTS 的 JSON 数据处理全解析

摘要:UniAppX开发中处理JSON数据时,UTS强类型特性要求开发者改变JS习惯。本文对比两种主流方案:1)UTSJSONObject通过keypath访问数据,兼容JS但缺乏类型提示;2)type+泛型方案,通过定义数据类型实现强类型校验和智能提示,推荐用于固定数据结构。文章详细演示了两种方式的具体实现、转换方法及实战案例,并提供了类型定义技巧和注意事项,帮助开发者编写更稳定高效的跨平台应用。

归梦工作室 2791

【自适应调制】自适应调制解调通信链路误码率matlab仿真与分析

BPSK中的B是“Binary”的意思,也就是有两个变化状态,比如说相位上的“+90°(代表1)、-90°(代表0)”,一个状态代表的就是一个比特。QPSK的“Q”是“Quadrature”的意思,有四个变化状态,如相位上的“+45°(代表00)、-45°(代表11)、+135°(代表10)、-135°(代表01)”,那么一个状态就代表两个比特的信息,如图2所示。同理8PSK的一个状态代表三个比特。但是功率资源并不是无限的,基站总的发射功率是一定的,为了充分利用所有的功率,采用的就是AMC技术。

FPGA/MATLAB学习教程/源码/项目合作开发 1835

前端面试必备宝典--知识点深入整合篇

这是借鉴别人整理的面试宝典,个人觉得整理的非常全面,与君共享,无获取利益的想法哈 面试秘籍 面试官到底想看什么样的简历? 完跳槽少说涨 5 K,前端面试从准备到谈薪完全指南(近万字精华) CSS css基础 灵活运用CSS开发技巧 你未必知道的49个CSS知识点 css布局 干货!各种常见布局实现+知名网站实例分析 CSS实现水平垂直居中的1010种方式(史上最全) rem布局解析 BFC 学习 BFC (Block Formatting Context) flex 一...

王春燕的博客 519

18、偏微分方程数值计算:粘性不可压缩流与电磁学的有限元方法

本文系统介绍了偏微分方程数值计算在粘性不可压缩流与电磁学中的应用,重点探讨了稳态与非稳态Navier-Stokes问题的混合有限元方法及求解技术,包括弱形式构建、半离散与时间离散格式、牛顿迭代法等。同时,详细阐述了电磁学中Maxwell方程的有限元与时域有限差分法(FDTD)求解方法,涵盖时间谐波与时域波方程、边界条件处理、稳定性分析与误差估计。结合MATLAB代码示例和实际案例,展示了速度场、压力、电场与磁场的数值模拟过程,并通过流程图与表格对比了两类问题的方法原理、应用场景与收敛性特性。最后展望了多物理

lemon的博客 90

Sqribble模板驱动型PDF生成工具深度解析

PDF文档生成是内容交付的关键环节,其本质是将结构化文本转化为具备专业排版、统一风格与可分发形态的静态出版物。其核心原理在于内容归一化、结构映射与样式固化,而非依赖大模型语义理解或AI生成——这决定了它在企业知识管理、营销资料批量输出、教育机构课件标准化等场景中具备高确定性、低出错率与强一致性优势。尤其适合需快速将Word/网页/Markdown等内容转化为带封面、目录、品牌VI的正式PDF的运营、市场及教育从业者。本文聚焦Sqribble这一典型模板驱动工具,深入剖析其非AI自动化逻辑、模板选择方法论及实

weixin_34392435的博客 361

面经-2023-禾赛-FPGA工程师

面经-2023-禾赛-FPGA工程师

w0shishabi的博客 2970

使用 Python 构建 Reddit 热帖爬虫:抓取热门讨论帖和评论

在现代互联网中,Reddit 被誉为全球最大、最活跃的讨论平台之一,汇聚了各种主题的帖子、评论和社交互动。因此,抓取 Reddit 上的热门帖子和评论可以为我们提供一个丰富的文本数据源,可以用于情感分析、话题建模、趋势分析等应用。Reddit 提供了官方的 API,可以让开发者获取包括帖子、评论、用户信息等在内的各种数据。我们可以结合上述方法,抓取多个热门帖子,并将每个帖子的标题、作者、发布时间和评论内容保存到一个数据结构中。每个帖子的对象包含了丰富的信息,如标题、内容、发布时间、作者等。

2201_76125261的博客 383

司南指南:HarmonyOS ArkTS API 24这个数组的顺序与 DIR_IDX 的索引严格对应,在渲染司南盘面方位文字时,通过 DIR_TEXT[i] 来获取第 i 个方位的文字

在移动互联网与智能穿戴设备高度普及的今天,"习惯养成"已经从一个模糊的自我管理理念,演变为一个可量化、可追踪、可视化的数字化产品赛道。越来越多的人希望借助手中的智能终端,把"早起、冥想、阅读、运动"这些抽象的自律行为,转化为一条条清晰的数据曲线和一张张可触摸的打卡卡片。而鸿蒙生态(HarmonyOS)凭借其跨设备协同、分布式软总线以及声明式 UI 开发框架 ArkUI,为这类注重"轻量化交互 + 即时反馈"的生活方式类应用提供了极为理想的生长土壤。本应用正是一款面向"晨间场景"深度打磨的习惯追踪工具。它聚焦

qq_17776737的博客 209

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HarmonyOS 6 ArkUI - TextArea是多行文本输入组件,适合输入较长的文本内容,有placeholder、text和onChange等属性和事件

在分布式操作系统鸿蒙(HarmonyOS)的生态体系中,ArkTS作为核心的应用开发语言,承载着连接声明式UI范式与原生系统能力的重要使命。ArkTS在TypeScript的基础之上,融合了声明式UI、状态管理、自定义组件等现代化前端开发理念,同时又深度绑定了鸿蒙系统的分布式能力、方舟编译器的运行时优化以及ArkUI框架的渲染管线。对于开发者而言,理解ArkTS不仅仅是掌握一门语言,更是理解一整套声明式UI的构建哲学、状态驱动的渲染机制以及组件化的工程实践。声明式UI是ArkTS最核心的设计理念之一。与传统

2401_86049470的博客 437

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

PS,UI,美工

详解PS切片工具的切图使用技巧 px,dp 转换 ColorPix——到目前为止最好用的屏幕取色器 无色透明的颜色的RGB值是多少 透明度不是用rgb值来控制的,而是依赖alpha值来控制,如果是无色透明的话,只要设置alpha为0,无论rgb是什么数值,都是显示为无色透明的。如果你在网页里面设定颜色的话,可以这样定义:rgba(0,0,0,0),最后的那个0就表示alpha值。 素材之...

weixin_30505225的博客 164

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: Flex精华摘要 4:使用AS脚本
下一篇: Flex组件篇:Button
JavaProgramers
博客等级 码龄22年 660粉丝 304原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值