航海主题制作教程_第1页
航海主题制作教程_第2页
航海主题制作教程_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、航海主题制作一、简介航海桌面主题是一套灵活可自定义程度很高的系统。用户可以通过主题配置文件修改桌面内容,布局和插入动画,互动内容,制作个性化的桌面。二、主题配置文件构成主题配置文件是一个zip文件包,可以通过任何zip文件生成工具打包制作。然后修改扩展名为“.V。将配置文件上传到以下任一位置就可以被桌面设置程序里的主题设置识别岀来。c:SystemAppsHDesktop_0 2001E8B2theme_pkgc:Hanghaie:Hanghaic:vAppse:vApps一个主题配置文件必须含有以下文件A、是描述主题信息,里面包含版号和主题名称。B、是主题定义,具体内容后面介绍C、 是主题预

2、览图,在设置的时候显示。预览图可以适配不同分辨率。比方命名成prev_320_240.jpg,就 是在320X 240分辨率下使用。可以有多个预览图存在。根本内容里可以定义主题。theme_pack,含有多个theme标签。桌面运行的时候会根据theme里的res属性选择适合当前屏幕大小的主 题。下面是同时定义了 240X 320屏幕和其横屏情况下320X240的主题。例: B. theme 里有 skin , wallpaper, color, flag , statuspane属性。skin属性指定了当前皮肤图片。wallpaper指定了默认壁纸,如果用户没设置过壁纸就采用这个壁纸。col

3、or 指定了壁纸采用的文字颜色,可以设置获得焦点后和未获得焦点的文字颜色,这会强制覆盖系统当前的颜 色。flag属性里目前只有一个值nosep,隐藏每行内容之间的分割线。statuspane属性是用来选择symbian 系统状态栏。可以是idle,flat,usual,empty。默认是empty。就是不显示系统状态栏。C. theme里包含各种plugin。plugin里最重要的属性是com,它指定了桌面将创立哪个组件。下面是可用的组件名称1.hd_placeholder2.hd_status3.hd_digitalclock4.hd_analogclock5.hd_clock6.hd_we

4、ather7.hd_large_weather_icon8.hd_news9.hd_sns10.hd_music11.hd_luna12.hd_search13.hd_todo14.hd_calendar15.hd_dock16.hd shortcutplugin里除了 com属性还能放pos, size, bg, flag属性,在使用某些com值的情况下还有特殊的属性可以支持。pos属性是定义了 plugin的位置,这在插件作为绝对坐标对齐的时候生效,如果插件不是绝对坐标对齐的, 这个属性不生效。size指定了插件的大小,在任何时候生效。可以通过*号表示服从默认大小设置。例:size= *,

5、32表示宽度默认,高度32。bg属性指定了 plugin的背景内容,里面是一条绘制语句。在后面有专门介绍。flag是控制符。每种plugin都有默认的flag。一旦写了 flag,就会覆盖默认值。例:hd_clock的默认flag是可获得焦点,可以通过修改flag让他不能获得焦点。这样用户操作键盘的时候 就无法对焦到这个plugin上。flag是有以下值组成的字符串:nav、abs、bottom。nav表示可以获得焦点;abs表示绝对坐标对齐;bottom表示从底部开始排版;这些值组成用空格分割,到达最终效果。例:flag= nav abs表示可获得焦点的绝对坐标对齐flag= nav bot

6、tom表示可获得焦点的底部对齐flag=:那么表示不可获得焦点,向上排版对其。冃景背景是由各种绘图语句构成的,用来指定plugin背景内容。最简单的方式是在plugin的bg属性里指定一个背景。例:比方 vplugin com= hd_placeholder pos= 10,60 size= 220,102 bg= box:0,135,134,212;65,186,71,204 flag= abs /这里指定了一个box背景,从主题的skin文件里读取一个矩形绘制,以box方式绘制到plugin的背景上。也可以多个背景叠加。另例:vplugin com= hd_large_weather_ic

7、on size= 210,80 flag= abs nav pos= 13,76 fontsize= 18 fontcolor= 255,255,255 vbackground type= focus vrender bg= box:2,104,34,133;7,111,28,128 /vrender bg= box:2,104,34,133;7,111,28,128 / v/plugin采用background标签的方式,给plugin指定了 2个背景内容。注意,这里有个type属性。type= focu表示这个背景在获得焦点时候生效。一个plugin可以拥有两个背景,一个在无焦点时候生效,

8、一个在获得焦点时候生效。唯一的列外是 hd_shortcut。它的焦点背景只给图标用。而不是整个plugin。背景绘图语句有以下几种:box: outer_rect;inner_rectrow : outer_rect;inner_rectrow_top:outer_rect;inner_rectrow_bottom:outer_rect;inner_rectcol: outer_rect;inner_recctcol_left:outer_rect;inner_rectcol_right:outer_rect;inner_rectill : rect:rectimg : image_path

9、box是九宫格绘制方法。根据outer_rect和inner_rect划定的两个矩形确立一个九宫格。缩放到plugin的背 景区域上。九宫格的4个角不会被缩放。剩下5个格子,左右两侧的会上下拉升,上下两条会左右拉升。 中间的区域是向四个角拉升。这种方式适合大多数需要指定圆角背景的情况。而且原始图片可以不是很大。row,col是类似与九宫格的方式,不过他们值确定3个格子。两头不缩放,中间缩放。row是横向的缩放, col是纵向的缩放。他们可以指定各种功能对齐方法。比方top,bottom,left,right,当背景图片的大小不 大于背景区域时候,会用这些方法对齐。_fill就是填充,将皮肤中的

10、一个区域拉升填充到背景。空表示直接绘制一个皮肤里的内容。不做任何拉升操作。img指定了一个外部图片做背景。里面写的是图片文件的名称。在名称前面可以加一个园括号,参加偏移量。这样能指定他在plugin里的那个位置显示。通过背景和hd_placeholder组合可以绘制很复杂的背景例:下面这段代码定义了 htc风格的大时钟vplugin com= hd_placeholder pos= 10,60 size= 220,102 bg= box:0,135,134,212;65,186,71,204 flag= abs /clock skin=SiystemAppsHDesktop_0Xdigital

11、.pngvpart id= 9 rect= 315,0,350,64/v/headervbody vmin dest= 115,23,195,73 /v/bodyv/clockv/plugin外部文件寻址前面用到了各种图片,theme里的skin、wallpaper,背景里的img。他们都遵循同样的外部文件寻址。外部文件寻址有以下几种情况1. 只有文件名,无路径2. 有完整的文件名和路径3. url只有文件名的情况,是在主题配置文件里寻找。主题配置文件是个 zip包,可以包含多个文件。相当于个目录。可以将各种图片都打包到主题配置文件里。有完整文件名和路径的时候直接按完整文件名与路径寻找。url

12、是种特殊的情况。目前不支持从网络下载文件。只支持file:/和jar:/。file:/实际上就是把完整路径 写成url。用途不大。jar:/比拟复杂,只是航海家内部使用。特殊的plugin定义有些特殊的plugin需要很复杂的定义才能完整工作。hd_status这是航海家风格的状态栏,里面可以定义各种组件,以及他们的对其方式vplugin com= hd_status vindicator type=signal /vindicator type=network /vindicator type=wifi /vindicator type=bt /vgroup align=mid vindic

13、ator type=profile /v/groupvgroup align=right vindicator type=earphone /vindicator type=alarm/vindicator type=misscall /vindicator type=sms/vindicator type=email/vindicator type=usb /vindi cator type= qq /vindicator type= battery /v/groupv/plugin决定了对其方式,可以左对齐,居中对齐,右对齐。里面可以放各种指示信号。可以放的indicator列表:sign

14、al信号battery 电量profile情景模式network 网络date日期week星期 clock时钟wifi wifi 信号bt蓝牙earphone 耳机title网标armory小徽章alarm闹钟misscall未接来电sms未读短信email未读电子邮件usb usb 插口QQ qq占位符,如果qq启动了会空岀这个位置让给qq的图标hd_digitalclock例:数字中定义继承与以前的航海风格大时钟。下面是一个不可获得焦点的数字时钟vplugin com= hd_digitalclock size= 210,140 flag= clock skin=SiystemAppsHD

15、esktop_0xdigital.png vpart id= 0 rect= 0,0,35,64/vpart id=1 rect= 35,0,70,64/vpart id=rect=70,0,105,64/vpart id=rect=105,0,140,64/vpart id=rect=140,0,175,64/vpart id=rect=175,0,210,64/vpart id=rect=210,0,245,64/vpa rt id=rect=245,0,280,64/vpart id=rect=280,0,315,64/vpart id=rect=315,0,350,64/v/heade

16、rvbody vhour dest=13,23,93,73/vmin dest=115,23,195,73/vam_pm dest= 20,70,35,80/v/bodyv/clockv/plugin数字钟在clock标签里定义,skin指定了时钟使用的皮肤文件。header局部定义了各种元素在皮肤里的位置。主要是数字位置,因为大时钟的数字都是用图片绘制的。也能定义am和pm需要的图标。vpart id= am rect= 280,0,315,64 /vpart id= pm rect= 315,0,350,64/body里定义了时钟有哪几局部。最常用的是hour和min,这是小时和分钟。am

17、_pm是用来显示上午下午,不过如果用户没开12小时时间格式是不会显示的。其他还有显示日期的date,农历的lunar,星期week,以及一个绘制命令 draw。date,lunar,week者B是文本字段,可以指定color, align。 color 是一个 rgb 值,格式是 red, green, blue。例:200,100,100。align 可以是 left,right,center 里的任一一种。date是有一个属性format,可以定义各种格式的时间,而不是单单显示日期。这个内容很繁杂,别处再说。draw类似前面的背景绘制命令。将时钟皮肤里的一个区域绘制到一处。例:vpart

18、type=min src= min.png inner_radius= 85 axis_radius=100 /hd_cba这是绘制左右软键的plugin。它的特殊之处在于有一个color属性可以指定文字颜色。除了RGB值,可以写transparent作为值,这样会隐藏左右软键,但是仍然占据位置。这时候可以通过背景属性设置写图标作为左右软键的内容。hd_large_weather_ic on这是模仿htc风格天气的组件。但是他实际上可以定制出任何组合的天气显示。这个组件里面可以插入控件。一共有三种控件,text, image,ani。下面是个范例例:vplugin com= hd_large_weather_icon size= 210,80 flag= abs nav pos= 13,76 fontsize= 18fontcolor= 255,255,255 vbackground type= focus vctrl type= image id= weathericonrect= 0,0,210,80src= jar:/icon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论