[发明专利]一种可扩展的皮肤系统及其实现方法有效
申请号: | 200810084333.1 | 申请日: | 2008-03-18 |
公开(公告)号: | CN101256490A | 公开(公告)日: | 2008-09-03 |
发明(设计)人: | 吴运声 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京汇泽知识产权代理有限公司 | 代理人: | 王黎延;蒋雅洁 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 扩展 皮肤 系统 及其 实现 方法 | ||
技术领域
本发明涉及皮肤技术,特别是涉及一种可扩展的皮肤系统及其实现方法。
背景技术
通常,软件运行时都会有交互界面,以便于接受用户指令并向用户反馈信息,交互界面的好坏是一个软件是否被用户接受的重要因素。现有的许多软件都使用皮肤系统来优化交互界面的表现,传统的皮肤系统主要有两种发展方向:一种是追求完备,在实现皮肤系统过程中不注重系统资源优化,导致皮肤系统相当庞大;另一种是皮肤系统与软件内部逻辑耦合很好,皮肤系统占用资源不高,但难以扩展。
随着计算机处理能力的提高以及交互界面不断发展的需要,皮肤系统的架构也在不断发展,总体上可分为三种方案:在代码中定义皮肤相关元素、使用INI文件定义少量皮肤元素属性、使用扩展标记语言(XML)或相关可扩展标识语言描述各种皮肤元素属性及行为。其中,由于前两种方案在其描述能力和可扩展性上都存在较大的局限性,在现代皮肤系统设计中很少采用,因此下面主要对第三种方案的相关现有技术进行说明。
一般,皮肤系统需要提供以下内容:一组已实现的皮肤控件、一组与已实现皮肤控件相关联的图像文件、一组皮肤系统的对外接口、一种描述皮肤系统相关属性与行为的标识语言。其中,皮肤控件也可称为皮肤组件或皮肤元素,对外接口就是指外部应用编程接口(API)。
在现有的皮肤系统中,一种皮肤系统仅实现与特定应用相关的一些皮肤控件,另一种皮肤系统则实现尽可能多的皮肤控件,两种系统都会提供相应皮肤控件的名称关键字和属性关键字,用户在皮肤描述文件中必须使用所提供的关键字来描述皮肤控件,不能对皮肤控件进行扩展。
现有的皮肤系统通常将皮肤控件与对应的图像文件进行一对一的关联,在创建皮肤控件时,每个皮肤控件都会加载其所关联的图像文件,然后根据属性定义对皮肤控件进行绘制,其中,皮肤控件关联的图像文件宽高与皮肤控件自身的宽高需要保持一致,才能保证正确绘制。对于个别需要在程序运行中变形的皮肤控件,其所关联的图像文件会具有水平或垂直延展的属性定义,但对于复杂的四周延展或透明区域定义,则不能提供相关的属性,而必须在图像文件设计时进行切割,分成更小的皮肤控件单元进行处理。比如:对于一个可变形的、圆角矩形形状的皮肤控件,它在变形过程中四个角保持不变,但四条边以及矩形中部都会进行相关的延展。那么,现有皮肤系统的处理方法通常是将该皮肤控件的四个角单独切分成四个独立的小皮肤控件,这些小皮肤控件不可延展;而其他部分定义为另一个小皮肤控件,该小皮肤控件可以作某种方向上的延展。
现有皮肤系统中,皮肤描述文件中所描述的各个皮肤控件基本是相互独立的,各个皮肤控件之间不对其他皮肤控件进行复用。比如:在现有系统中,一个窗口皮肤控件和一个列表皮肤控件都需要用到滚动条皮肤控件,但在皮肤描述文件中需要在描述窗口皮肤控件和描述列表皮肤控件时都描述滚动条皮肤控件的属性,且在创建时也各自独立创建。
从上述描述可以看出,现有皮肤系统在实际应用中存在以下问题:
第一、用户不能根据自身需要方便地扩展皮肤控件,因此,对于那些只提供应用相关皮肤控件的皮肤系统,其应用范围非常狭窄;而对于那些提供完备皮肤控件的皮肤系统,则非常庞大、复杂,不适合于轻量级简单的应用环境。
第二、如果多个皮肤控件关联到同一个图像文件,由于每个皮肤控件创建时都会独立加载图像文件,那么,同一个图像文件将会被加载多次,会重复占用更多的系统资源,导致系统资源的浪费。
第三、现有皮肤系统图像文件在加载图像后所做得变换很少,因此对于一些需要特殊变化的皮肤控件需要进行切分,分成若干个行为更加单一的皮肤控件,如此,不仅增加了系统资源的占用,还增加了处理的复杂度。
第四、当多个控件使用相同的皮肤控件作为它的一部分时,独立描述与创建相同的皮肤控件,也将导致更多的系统资源占用。
发明内容
有鉴于此,本发明的主要目的在于提供一种可扩展的皮肤系统及其实现方法,能在系统资源占用尽量少的基础上,实现皮肤控件的任意扩展。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种可扩展的皮肤系统,包括:皮肤控件管理器、一个以上基本控件以及XML解析器;其中,
皮肤控件管理器,用于管理所有皮肤控件,负责从XML解析器中读取解析后的XML配置文件中的相关配置信息并创建所需皮肤控件;
基本控件,用于在用户使用皮肤系统创建应用程序时直接使用、或作为基本皮肤控件创建用户所需的皮肤控件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810084333.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:SHD型监测报警系统
- 下一篇:非对称并激式双稳态永磁操动机构