一、简介
=================== 废话区 ================
(如果你对Rockbox、Rockbox的主题有了一定的了解,你完全可以跳过这些废话,当然,建议最好能看一看吧,因为我写得不对的,你可以指正。)
    由于Rockbox开发者少得可怜,Android下的开发者更少了,Android下的主题制作者可以说是更加的罕见,时代的进步,科技的发展,Iphone的触屏体验**,使得Rockbox在手机播放器领域并没有延续之前在Moto Linux下的辉煌,甚至Android Rockbox 的使用者远远没有任何一款能在Android下播放音乐的软件的人多,即使是知道有这么一个功能强大的播放器,但一看到那个播放界面,和烦琐的设置,却让使用者望而生怯。 
    那么,今天发个主题制作的帖子,让有意自己制作主题,而又不知从何下手的朋友们大手的去制作自己想象中的主题,也让更多的朋友能用上更多好看的主题,那么在主题制作之前,我们先要了解一些必要的知识,这样才能更好的去制作主题。
    1)Rockbox主题是什么样的?
        Rockbox的主题,其实就是一些BMP的图片,贴在播放界面上,然后软件通过读取主题目录下的“主题名.wps”里的主题规则,来确定那些地方什么时候需要放上哪些图片,什么地方需要放什么文字,什么信息等。(比如返回按纽放哪个位置,进度条放哪个位置,歌曲标题放哪个位置等等)
    2)Rockbox主题包括哪些部分?
        介绍一下Rockbox的界面(见图解)1.状态条、2.菜单界面、3.音乐播放界面、(还有FM界面,安卓下暂时未实现)、4.图标、5.路径、6.滚动条、7.选择条、8.按钮、9.标签、10.进度条、11.专集封面、12.音量、等等,不过真正制作主题的时候倒不一定所有都要弄完。
    3)文件目录结构,及说明:(以某个主题为例)
          +Rockbox ---------------------根
            +backdrops ----------------背景
              -Tilewave.bmp
          +fonts --------------------字体
              -20 -华文中宋.fnt
            +icons --------------------图标
              -Tilewave_icon.bmp
            +themes -------------------主题
              -Tilewave.cfg     
          +wps ----------------------播放界面主题(主要就是这个了)
              +Tilewave --------------主题图片目录 注意:要与主题名相同
                  -bg.bmp
制作android软件流程                  -pb.bmp
              -Tilewave.wps ----------主题名
      以上是一个主题的大致目录结构,大概解释一下,
bakcdrops目录,存放非音乐播放界面的背景(就是菜单等界面所看到的背景)。
fonts目录,字体目录。主题设置里所看到的字体就是放在这。
icons目录,图标目录(菜单文字前的那些图标)。
themes目录,主题目录(包括菜单主题和音乐播放主题的路径和设置等),主题设置-->主题浏览到的就是它
wps目录,音乐播放界面主题,主题设置-->音乐播放界面里浏览到的就是这个目录下的文件
wps子目录,主题的图片资源目录,要与主题名相同,主题背景,音量图标,等都放在这里
    4)字体,Rockbox用的是什么什么字体来着,其实不用管它,有字体转换工具,使用非常简单,这样你就可以把你在windows下看到的标准字体转为Rockbox下的字体了。(详细请看下面的教程部分)
    5)主题怎么弄?
        Rockbox下的主题,是一个以文本形式标记主题规则的文本,你可以用任何一个文本编辑器来编辑它,有一个专用主题编辑器,使得制作rockbox主题非常简单明了。
        你可以试着用记事本打开一个主题文件看看(*,wps),(一堆乱七八糟的东西,)别急,每个标记都有格式的,比如%T(24,35,80,60,browse)这个标记的意思是,创建一个按钮,位置是x=24,y=35,宽80px,高60px,这个按钮是浏览按钮,等等。
那么,接下来,开始吧!
二、教程
=======================================教程区=======================
===============
看了上面罗七八嗦的一堆,那么下面开始正题。下面每个小节基本上都是独立的,你只想看其中一点也可以。
    1.看懂别人的主题:
      一开始就想做主题,可能有点一步登天了,那么如果先去看看别人的主题,把别人的主题看懂了,能在别人的主题上加以修改,然后有了自己的想法以后,想自己做主题就简单了。(下面以看懂Tilewave主题为例)
      (1)主题编辑器的使用:
     
      1)下载RB主题编辑器,下载并解压Tilewave-320x480x32.rar里的Tilewave-320x480x32目录到桌面。
      2)打开(直接运行不用安装),在菜单上点File-->Open Document 打开“桌面\Tilewave-320x480x32\wps\Tilewave.wps”可以先把主题编辑器界面里的:左边的“project”面版、又下角的“Parse Tree”面版关闭,那么,左边是主题代码,右边是主题预览,(显示错位)点菜单栏的“View-->Drvice configuration”将Screen Width(屏幕宽)改为320,Screen Height(屏幕高)改为480,关闭它,那么现在将可以看到下面的画面:主题正常显示了,红白格子,显示的是专辑封面,绿的块是标记的触屏按纽(用鼠标点击,相应的状态也会跟着改变),“设备”的状态也是可以通过drvice configuration设置里修改的,例如:想修改音量大小,可以到Hardwave Status 里的Current Volume里修改,等等(这时候的字体是系统默认字体)
(图片)
    (2)代码的规范:
      1)注释:左边的代码筐里显示了打开的WPS文件里的代码内容,RB规定以“#”开头的那行标记是作为注释用的,讲没有任何代码效果,一般将会在#后面放一些注释、说明、作
者信息等,例如:#Theme name:Tilewave 在主题编辑器里将会以绿显示
      2)标记命令:RB下的命令是以%开头,原型:%[函数]([参数1],[参数2])例如:%X(GB.bmp)  解释为 (载入BG.bmp)
      3)条件:%?[函数]<[值1命令]|[值2命令]|[值3命令]> 这个命令可以查询一个函数的返回值,例如:%?it<%it|%fn> (当前曲目是否有标题<有:显示曲目标题|没有:显示文件名>)
有关这些完整的规则与标签语法,请查看:(/wiki/CustomWPS)在我的附件里也有一部分的标签定义,当然只供参考
    (3)看懂别人的主题:
      了解了代码规则以后,在对照“标签规则”,我们就可以对被人的代码进行解释了,看看别人的代码是什么回事吧。
      下面简单讲讲怎么看别人的代码:
      1)打开“Rockbox 主题状态与文本标签.doc”,里面的内容来自rockbox网站,里面列出了Rockbox能用的文本标签,对照着这些标签的描述,在看主题的代码,你就知道代码里面到底写的是什么了。
      2)回到主题编辑器,看看下面的代码:你可以这样对照,%wd 对应着  Rockbox 主题标签.doc 里的 “%wd Hide Status Bar”翻译过来:隐藏状态栏(crtl+f来查会更加方便),到这,你就会知道RB的主题是怎么个一回事了,那么,继续往下看。不过这个主题标签.doc只描述了文本类标签和一些状态的说明,有关图片、主题的配置、等等请参考“Rockbox主题规则与主题规定.doc”(复制自Rockbox网站)
%wd  -------------------------------隐藏状态栏
%X(BG.bmp)  ------------------------载入一张位图(无坐标,在这里是背景图片)
#
#  * images  ------------------------注释:图片部分
#
%xl(C,volume.bmp,0,0,10)  -----------预载入位图(只是预载入,需要%xd才会显示),编号是C,图片是音量.bmp,x=0,y=0,分割成10份(因为音量对应着10个状态,这样就可以在一张图里完成10张图的代码编写了)
%xl(D,shuffle.bmp,89,5)  -----------预载入位图,编号是D,shuffle.bmp,x=89,y=5,
%xl(E,repeat.bmp,20,5,4)  -----------预载入位图,编号E,循环模式.bmp,x=20,y=5,分割4份,就是将重复模式的4种状态放在一个图片里,显示时就能一一对应状态了。
#  browse file            -----------注释:浏览按扭
%T(20,0,60,40,browse)    -----------标记一个触屏按扭,位置是:x=20,y=0,宽60px,高40px,触屏对应命令是:返回文件浏览
#
#  * current track info  -----------注释:当前曲目信息
#
%V(49,56,150,-,-)  -----------------标记一个显示框,位置是x=49,y=56,宽150px,高忽略,字体忽略
%s%al%?it<%it|%fn>  ----------------滚动(%s),左对齐(%al),如果存在曲目标题(%it)则显示标题,否则显示文件名(%fn)
#
#  * playmode,repeat,shuffle  -------注释:播放模式,重复模式,随机播放状态

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。