解读 LWUIT 之十一:风格(com.sun.lwuit.plaf.Style)对象
来源:互联网 发布:金融数据交易平台 编辑:程序博客网 时间:2024/05/19 18:43
解读 LWUIT 之十一:风格(com.sun.lwuit.plaf.Style)对象
LWUIT 开发指南下载
com.sun.lwuit.plaf.Style 对象可以通过设置颜色、字体、透明度、边距(margin)、填充度(padding)、图片和边框(border)来定义 LWUIT 控件的风格。每个 Component 控件都有一个内置的(被选中的) Style 对象,我们可以通过 Component 对象的 getSelectedStyle 和 getUnselectedStyle 方法来在程序运行时修改其内置 Style 对象,达到风格动态切换的效果。当 Theme 对象改变时,所有的 Style 对象会自动更新。
每个 Component 对象可以(通过 res 文件)调整自己的两个颜色是:前景颜色(通常用于调整 Componet 的文本显示颜色)和背景颜色。颜色的定义是三基色,不能设置颜色的透明度,因为背景透明度的设置是独立的。有效颜色定义范围是 0x000000(黑色) 到 0xffffff(白色)的整数(当然,也可以使用对等的十进制)。
可以使用 com.sun.lwuit.Font 对象来设置字体格式。
LWUIT 支持控件透明度设置,用以增加界面的灵活性和吸引力。可以通过调用 Style 对象的 setBgTransparency 方法来设置透明度,传入该方法的整数取值范围是 0 到 255(默认为 255,即不透明)。
边距(margin)和填充度(padding)类似于 CSS 盒模型。每个 LWUIT 控件都有一个主内容区域(Content area,例如文本或者图标)和一些填充(padding)和边距(margin)区域,每个区域的尺寸是由四个分别表示上、下、左右的整数来定义,类似于 SWING。下图说明了边距(margin)和填充度(padding)的联系:
可以通过调用 Style 对象的相关方法,类似于下面的代码来设置边距(margin)和填充度(padding):
Style 对象中的图片指的是控件的背景图片。默认情况下控件没有背景图片。
Style 对象支持自定义边框(Border)渲染。边框(Border)可以取代背景 Painter,或者也可以在控件对象自己渲染完以后再行渲染。也可以通过继承 com.sun.lwuit.plaf.Border 类并重写相关方法来自定义边框。边框被渲染到控件的填充(padding)区域,所以一定要保证控件的填充(padding)区域足够大以包容边框的绘制。
通过使用 com.sun.lwuit.events.StyleListener 对象我们可以跟踪特定控件的 Style 对象。比如我们可能想监控某个控件的背景颜色的改变,一旦改变就做出某种相应,就可以用 com.sun.lwuit.events.StyleListener。下面的一段代码演示了如何在某控件上添加 com.sun.lwuit.events.StyleListener 来跟踪字体的改变并做出相应的代码:
Style 对象中的 Painter 指的是控件背景的绘制。Painter 先完成自己的绘制,然后控件在 Painter 上面进行绘制。可以调用 Style 对象的 setBgPainter 方法来设置 Painter,例如设置 myPainter 作为控件的背景 Painter 的源代码:
更多关于 Painter 的相关信息请参阅上篇博客《解读 LWUIT 之十:画笔(Painters)》。
- 解读 LWUIT 之十一:风格(com.sun.lwuit.plaf.Style)对象
- 解读 LWUIT 之三:LWUIT 控件(上)
- 解读 LWUIT 之四:LWUIT 控件(中)
- 解读 LWUIT 之五:LWUIT 控件(下)
- 解读 LWUIT 之十二:LWUIT Implementation
- 解读 LWUIT 之十:画笔(Painters)
- 解读 LWUIT 之七:深入理解 LWUIT 框架的 MVC
- LWUIT
- 解读 LWUIT 之八:模态对话框(Dialog)
- 解读 LWUIT 之九:使用布局管理器(Layout Manager)
- 解读 LWUIT 之十三:可插拔主题(Theming)
- 解读 LWUIT 之二:关于 LWUIT 开发指南中的 Hello World
- 解读 LWUIT 之六:使用表格(Table)和树(Tree)
- LWUIT之BUG
- LWUIT扩展之tree
- 解读 LWUIT 之一:“纠正” Eclipse 编译 LWUIT 源码出错
- LWUIT 自定义灵活Style的Component
- LWUIT + J4LChart 之 多种Chart
- 三星arm,6410,6400,6443硬件资源图比较
- ASP中MD5加密代码
- 测试
- ASP中Base64加、解密函数
- CreateProcess详解说明
- 解读 LWUIT 之十一:风格(com.sun.lwuit.plaf.Style)对象
- 去掉j2me打开文件系统出现安全提示的解决方法
- mysql导入sql文件:Mysql导入导出.sql文件
- JSP中使用XML实现弹出式菜单
- Python中的Decorator(装饰器)模式
- ASP最基本的加解密函数
- VC中ListCtrl经验总结
- OpenGL基本框架
- lucene.net 2.0 中文分词后语法高亮问题