Cindy iPhone & Windows Mobile Blog
  • Home
  • About Me
  • iPhone Lockscreen Theme – LS Cardboar...
    iPhone Lockscreen Theme – LS CardboardWeather HD

    大夏天的温度特别高,来个小清新的锁屏,主要是wallpaper还有天气的图标比较漂亮~怎么用懂的不,上http://weather.yahoo.com/,在Enter city or zip code的框框里输入自己所在城市的全拼,我输入zhoushan,跳转之后链接是:http://weather.yahoo.com/china/zhejian [...]

    Read more
KEEP IN TOUCH
« [Font]FangZhengZhunYuan Chinese with Handelgot English and Number
» MOTO Q is Coming~ With China Mobile

Smartphone主题XML教程

Aug24
2007
1 Comment Written by Cindy Wong

-该教程由IOICN阿才同学原创-

[XML基础参数经验篇"]
一、主题XML文件规则
XML文件中的各语句都是有头有尾、有始有终的,如前面有“<label>”后面就必须有个结尾“</label>”
◎用记事本打开主题XML文件我们会发现它的格式如下:
<?xml version=”1.0″?>
<home>
<author>作者</author>
<contacturl>联系方式,如:www.aryaya.com</contacturl>
<title>主题名称</title>
<version>版本</version>
<default>
<!– 这里是主题一些默认参数的位置,如字体、字体大小、颜色等 –>
<!– 如果后面插件中的这些参数为指定,那系统就会使用这里设定的 –>
<!– 这段可以放到配色方案之后 –>
</default>
<!– 这个是主题背景图片 –>
<background bgimage=”\IPSM\Application Data\Home\Sidebar\Sidebar_home.jpg” valign=”top”/>
<scheme>
<!– 这里是配色方案的位置 –>
</scheme>
<!– 这里是各插件代码的位置 –>
</home> 大家可以看到上面的各部分都开始、结尾都一一对应,如果大家学过一些网页、编程方面的知识就会很明白这一点。如果有头无尾或有尾无头都会破坏xml文件。
教大家一个检查XML文件拼写是否正确的小方法:
先双击主题xml文件,如abc.home.xml,这时该文件就会被IE打开,如果在IE中一切显示正常,没有错误提示,那就是说你做的主题的xml文件内容、格式基本没问题。

◎当然也有另一种写法,如:
<background b-border-width=”0″>
</background>
这段语句中没什么东西,可以简写为:
<background b-border-width=”0″/>

◎关于一些插件的显示方式,如(短信插件):
<plugin clsid=”{2F930BF0-6FE9-4a53-9E17-88E9247BAB48}” name=”Messages” height=”140″>
<background b-border-width=”0″>
<format state=”selected” bgcolor=”transparent” bgimage=”\IPSM\Application Data\Home\Sidebar\Sidebar_dx.jpg” valign=”top” />
</background>
<label font-size=”14″ x=”48″ y=”52″>
<format state=”selected” bgcolor=”transparent” fgcolor=”#000000″/>
<text>短信(<unreadSMS/>)</text>
</label>
<label font-size=”14″ x=”62″ y=”52″>
<format state=”selected” bgcolor=”transparent” fgcolor=”#FFFFFF”/>
<text>邮件(<unreadEmail/>)</text>
</label>
<label font-size=”14″ x=”77″ y=”52″>
<format state=”selected” bgcolor=”transparent” fgcolor=”#FFFFFF”/>
<text>彩信(<unreadMMS/>)</text>
</label>
</plugin>
其显示的效果为:
短信(0)
邮件(0)
彩信(0)
可以把代码改成:
<plugin clsid=”{2F930BF0-6FE9-4a53-9E17-88E9247BAB48}” name=”Messages” height=”140″>
<background b-border-width=”0″>
<format state=”selected” bgcolor=”transparent” bgimage=”\IPSM\Application Data\Home\Sidebar\Sidebar_dx.jpg” valign=”top” />
</background>
<label font-size=”14″ x=”48″ y=”52″>
<format state=”selected” bgcolor=”transparent” fgcolor=”#000000″/>
<text>短信(<unreadSMS/>)/邮件(<unreadEmail/>)/彩信(<unreadMMS/>)</text>
</label>
</plugin>
这样显示效果就为:
短信(0)/邮件(0)/彩信(0)

◎其他
大家可以在一些主题xml文件中看到以下类似代码:
<title lang=”0×0409″>Windows Default</title>
<title lang=”0×0412″>Windows 기본값</title>
<title lang=”0×0411″>Windows 標準</title>
<title lang=”0×0404″>Windows 預設配置</title>
<title lang=”0×0804″>Longhron Sidebar主题</title>
…………………………………………………………………………
<text lang=”0×0409″>Missed calls: <calls/></text>
<text lang=”0×0412″>부재 중 전화: <calls/></text>
<text lang=”0×0411″>着信あり: <calls/></text>
<text lang=”0×0404″>未接來電: <calls/></text>
<text lang=”0×0804″>未接电话: <calls/></text>
每一段代码都有个lang=”",这个是指在某个语言环境下显示显示某字符。引号中的就是语言代码,关于这个代码,我们只要知道0409是英语,0804 是简体中文,0404繁体中文就行了。如上面的当你的机器语言是英语时它显示为“Windows Default”和“Missed calls:”,语言是简体中文时显示为“Longhron Sidebar主题”和“未接电话:”。
注意:在英语或其他语言,如“<title lang=”0×0409″>Windows Default</title>“这栏,不要把其间的”Windows Default“写为中文,这样有可能造成主题不能使用的问题。
上面我用到的“<!– –>”为注释格式,在主题XML文件中的注释,基本上可以放到任何位置(只要你不破坏代码的完整性)都可以。
注意主题XML文件名保存格式应该为XXX.home.xml。XXX为xml文件名称,.xml为扩展名


二、xml常用参数

这里先讲各插件的通用参数,各插件的特殊参数,在第三部分“识别插件”中讲述。
大家先看看以下代码(日程约会插件)
<plugin clsid=”{865A354A-4A96-4687-B001-C155DC0DBE76}” name=”calendar” width=”50%” height=”140″>
<background b-border-width=”0″>
<format state=”selected” bgcolor=”transparent” bgimage=”\IPSM\Application Data\Home\Sidebar\Sidebar_rc.jpg” valign=”top” />
</background>
<label x=”66″ y=”76″ w=”110″ fgcolor=”#000000″>
<format state=”selected” bgcolor=”transparent”/>
<text><subject/></text>
</label>

<label x=”65″ y=”75″ w=”110″ fgcolor=”#FFFFFF”>
<format state=”selected” bgcolor=”transparent”/>
<text><subject/></text>
</label>

<label font-size=”12″ font-weight=”bold” x=”86″ y=”63″ w=”89″ fgcolor=”#000000″ >
<text><time/>/<location/></text>
</label>
<label font-size=”12″ font-weight=”bold” x=”85″ y=”62″ w=”89″ fgcolor=”#FFFFFF” >
<text><time/>/<location/></text>
</label>
</plugin>
上面用到这样几个通用参数:
◎height=”140″:
height 插件的高度
◎b-border-width=”0″
这个是插件分割条,在系统自带的主题中我们可以看到每个插件之间都有一条横线,就是这个了。0为没有横线,数字越大则分割条越粗。
◎bgimage=”\IPSM\Application Data\Home\Sidebar\Sidebar_rc.jpg”
这个是插件背景图片路径,一般用在<format/>语句中
◎valign=”top”
这个是插件背景图片的对齐方式,top是对齐顶部,bottom是对齐底部(SP主题桌面显示的图片大小为176*200,如果你的图片是 176*220,那么选择top时,图片底部的高度20部分将看不到;反之,选bottom时,图片图片顶部的高度20部分将看不到)。一般用在< format/>语句中,和“bgimage”一起用,也可以不用这个参数。
◎x=”66″
显示内容(包括文字、图标、图片等)的X轴(0至176),也可以用负数,如x=”-2″。
也可以写为halign=”right”,这样用的话,可以用三种参数:left(左对齐)、right(右对齐)、center(居中)
一般用在<label/>语句中。
◎y=”76″
显示内容(包括文字、图标、图片等)的Y轴(0至220),也可以用负数,如x=”-2″。
注意:在有些情况下,Y轴的计算不按屏幕(220)来计算,而是按所在插件的高度(height)来计算
一般用在<label></label>语句中。
◎w=”110″
显示内容(一般是文字)的宽度,一般用于日程约会等插件
一般用在<label/>语句中。
◎fgcolor=”#000000″
文字的颜色,如果没有该参数将会读取XML文件头部的<default></default>中设定的颜色。
一般用在<label/>语句中。
◎font-size=”12″
字体大小,数字越大,显示的字体越大。
如果没有该参数将会读取XML文件头部的<default></default>中设定的字体大小。
一般用在<label/>语句中。
◎font-weight=”bold”
文字粗细,bold为粗体,normal为常规
一般用在<label/>语句中。

三、识别插件
我们要自己做主题首先应该知道主题中所用的插件的代码是那部分,最准确的区分方法当然是看代码中的clsid,如:{79EFB752-CB70- 446d-B317-499723482B3D},这个是最近使用的程序插件,当时该代码又长又复杂,恐怕任谁都记不住,所以我们应该用其他的方法来区 别。
一种方法是看插件的name,如:
<plugin clsid=”{865A354A-4A96-4687-B001-C155DC0DBE76}” name=”calendar” width=”50%” height=”140″>

 

<background b-border-width=”0″>
<format state=”selected” bgcolor=”transparent” bgimage=”\Storage\Application Data\Home\QQTang\QQTang_rc.jpg” valign=”top” />
</background>
<label x=”3″ y=”39″ w=”112″ fgcolor=”#000000″>
<format state=”selected” bgcolor=”transparent”/>
<text><subject/></text>
</label>

<label x=”2″ y=”38″ w=”112″ fgcolor=”#A6D4FC”>
<format state=”selected” bgcolor=”transparent”/>
<text><subject/></text>
</label>

<label font-size=”12″ font-weight=”bold” x=”3″ y=”60″ w=”74″ fgcolor=”#000000″ >
<text><time/>/<location/></text>
</label>
<label font-size=”12″ font-weight=”bold” x=”2″ y=”59″ w=”74″ fgcolor=”#A6D4FC” >
<text><time/>/<location/></text>
</label>
</plugin>
从它的name(红色部分)“calendar”可以看出这个是日程约会插件。
其他的如最近使用的程序的name=”mru”、未接电话name=”missedcalls”、电池信号(导航条)name=”iconbar、短信/彩信/邮件插件name=”Messages”、情景模式name=”profile”等等。
但插件的name在不同的主题中可能会有不同的name(name可随意更改),这就要看看作者的喜好了;也有些主题中插件并没有name,这样一来,势必会使我们对插件的识别造成影响,或干脆识别不了,在就需要我们用其他的方法来识别。

我们还可以通过插件代码的内容来识别,这个是是最容易,也是最形象的识别方法。
从内容识别,主要是从插件代码中<label>和</label> 之间的内容(该部分内容将显示会在主题中显示)来识别。

 

<plugin clsid=”{2F930BF0-6FE9-4a53-9E17-88E9247BAB48}” name=”Messages” height=”140″>
<background b-border-width=”0″>
<format state=”selected” bgcolor=”transparent” bgimage=”\Storage\Application Data\Home\QQTang\QQTang_dx.jpg” valign=”top” />
</background>
<label font-size=”14″ x=”5″ y=”37″>
<format state=”selected” bgcolor=”transparent” fgcolor=”#000000″/>
<text>短信: <unreadSMS/>条</text>
</label>
<label font-size=”14″ font-weight=”bold” x=”4″ y=”55″>
<format state=”selected” bgcolor=”transparent” fgcolor=”#A6D4FC”/>
<text>邮件: <unreadEmail/>件</text>
</label>

</plugin>
上面这段代码中的<label>和< /label> 之间有<unreadSMS/>和<unreadEmail/>这两个分别是未读短信和未读邮件,从这里我们可以清楚的知道上面 这段代码是短信/彩信/邮件插件。该插件<label>和</label> 之间的内容还有<unreadSMS/>(彩信)、<unreadVMail>(语音邮件)等,其代码中都有“unread” (“未读”的意思)字样,这让我们可以很好识别该插件。
其他插件识别内容(<label>和</label> 之间的内容)如:
系统标准插件
◆电池信号(导航条) 插件
◎name:iconbar
◎clsid:{837FC251-FE69-43ad-84E0-EBCEDEBA0884}
◎内容(识别):<iconbar/>
◎备注:把<background/>部分去了,就可以显示透明的电池信号(导航条) 插件栏,
如不透明代码

 

QUOTE:

<plugin clsid=”{837FC251-FE69-43ad-84E0-EBCEDEBA0884}” name=”iconbar” height=”20″>
<iconbar fgcolor=”COLOR_TRAYTEXT”/>
<background gradient=”title” bgcolor=”COLOR_TRAYGRADLEFT” b-border-color=”COLOR_WINDOWFRAME” b-border-width=”1″/>
</plugin>
去到掉<background/>部分后:

 

QUOTE:

<plugin clsid=”{837FC251-FE69-43ad-84E0-EBCEDEBA0884}” name=”iconbar” height=”20″>
<iconbar fgcolor=”COLOR_TRAYTEXT”/>
</plugin>
◆最近使用程序插件
◎name:mru
◎clsid:{79EFB752-CB70-446d-B317-499723482B3D}
◎内容(识别):<mru/>、<appname/>(快捷方式名称)
◎备注:<mru/>中
※ icon-size=”16″ 是指显示的图标大小,icon-size=”16″显示为16*16大小,icon- size=”32″显示为32*32大小,最多显示9个图标;
※ max-buttons=”4″ 为显示几个图标,数字为几就显示几个;
※ button-image=”" 为图标的背景图片(引号中为图片路径)。注意:这个背景图片和插件的背 景图片不同。这个具体 怎么用还不知道,曾用过一次。这个可以使最近程序被选择时背景不是单纯的颜色,而可以是突破。如这个:

◆营运商、日期、时间插件
◎name:Carrier
◎clsid:{E09043DF-510E-4841-B652-388316977A7A}
◎内容(识别):<carrier/>(营运商)、<time/>(时间)、<date/>(日期)
◎备注:※ <time/>中的mode=”12″为时间格式。数字是12则为12小时制,数字是24则为24小时制;
※ <date/> 中的mode=”short”为日期格式。short为短日期格式,不显示星期,long为长日期格式,显示星期。

◆日程约会插件
◎name:Calendar
◎clsid:{865A354A-4A96-4687-B001-C155DC0DBE76}
◎内容(识别):<subject/>(约会内容)、<time/>(约会时间)、<location/>(约会地点)
◎备注:

◆全天事件插件,隐藏插件
◎name:AllDay
◎clsid:{2FFD93B3-0FF0-4228-A6D6-D2DF177D7D92}
◎内容(识别):<subject/>、<time/>、<location/>
◎备注:这个我不知道和日程约会插件有什么不同,反正我的感觉是一样的,只不过这个插件是隐藏插件

◆短消息、彩信、邮件插件
◎name:Messaging
◎clsid:{2F930BF0-6FE9-4a53-9E17-88E9247BAB48}
◎内容(识别):<unreadEmail/>(未读邮件)<unreadSMS/>(未读短信)<unreadVMail>(未读语音邮件)<unreadMMS/>(未读彩信)
◎备注:

◆文本插件
◎name:Text
◎clsid:{5419F376-6520-4407-B8B8-740F5B353EDA}
◎内容(识别):
◎备注:这个插件基本上很少用,在其他的插件内部也可以实现,可以说每个插件都包括了它。如短信插件中:

 

QUOTE:

<plugin file=”sysplug.dll” clsid=”{2F930BF0-6FE9-4a53-9E17-88E9247BAB48}” height=”20″>
<background>
<format state=”selected” bgcolor=”#2A2CC5″/>
</background>
<label>
<text>短信:<unreadSMS/></text>
</label>
</plugin>
我们只要把<unreadSMS/>删除,便可以直接显示<text></text> 之间的文本,如上面这段代码中的“短信:”

◆主人信息插件
◎name:Owner
◎clsid:{4824B576-EFFE-45cf-BAE9-649B930CD244}
◎内容(识别):<name/>(姓名)、<phone/>(电话号码)、<email/>(电子邮件地址)、<notes/>(附注)
◎备注:

◆STK插件
◎name:
◎clsid: {4e822425-a00f-497c-80ff-1c554665a369}
◎内容(识别): <scrolltext textsource=”simtkitidletext”/>
<scrolltext textsource=”cellbroadcast”/>
◎备注:没用过,不知道怎么用,也没什么用

◆通话进程插件,隐藏插件
◎name:callprog
◎clsid:{37391041-C324-4725-BEE1-3232ED3539CA}
◎内容(识别):<progress/>
◎备注:一般大家用这个插件时都不会做什么改动,因此一般在<label>和</label>之间可以看到以下内容:
<text lang=”0×0409″>Call in progress:</text>
<text lang=”0×0412″>진행 중인 전화:</text>
<text lang=”0×0411″>通話中:</text>
<text lang=”0×0404″>通话中:</text>
<text lang=”0×0804″>通话中…</text>
如果主题作者没用这个插件,那通话时右键也会变成“通话进程”

◆未接电话插件,隐藏插件
◎name:missedcalls
◎clsid:{0BA8ABB8-1F1D-417f-88C6-DA8530E2E7A6}
◎内容(识别):<calls/>
◎备注:

◆情景模式插件
◎name:profile
◎clsid:{95976968-45D5-40c9-9779-2B859B1C2FEC}
◎内容(识别):<profile/>
◎备注:

系统标准插件基本上就是这些了。

注:以上所述的“内容(识别)”中的内容,如<unreadSMS/>,其处于<label><text>和 </text></label>之间,如<label><text>< unreadSMS/></text></label>,可以在<unreadSMS/>前后,也就是 <text>和</text>之间添加任何系统支持的文字、符号。

*隐藏插件:平时隐藏,只有在事件发生时才出现。如未接电话插件,平常看不见,当有未接电话时就会显示出来。

他第三方插件我就不说了,如果你可以用这些系统插件熟练的制作主题,那基本上那些第三方插件也就没什么问题了,因为基本的东西都是相通的,只不过第三方插件可能要复杂一点,需要设置的参数要多一点。

  • Share this:
  • Facebook
  • Email
  • Digg
  • Reddit
  • StumbleUpon

Related posts:

  1. [Font]lOvelY Font – for u…
  2. [Theme]X Reloaded (Update !), now Vox compatible, and with WMP skin!
  3. [Font]MSYH.ttf with Calibri.ttf
  4. [Font]FangZhengZhiYi Chinese with Handlegot English and ZhiYi Number
  5. [Font]Shine!~My New Font!
Posted in Smartphone - Tagged Smartphone, xml
SHARE THIS Twitter Facebook Delicious StumbleUpon E-mail
« [Font]FangZhengZhunYuan Chinese with Handelgot English and Number
» MOTO Q is Coming~ With China Mobile

1 Comment

  1. SevenMoon's Gravatar SevenMoon
    2007-08-26 at 02:09 | Permalink

    不错,我自己也学着做了个主题,呵呵

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Categories

  • iPhone
  • Pocket PC theme
  • ringtone
  • Smartphone
  • Software
  • theme
  • 杂

Recent Comments

  • Accu Chek Mobile on Lockscreen Theme – SlantedLock
  • albert on Lockscreen Theme – NikHD
  • Luis on About Me
  • Ebony on [Unboxing]SidekickSlide – Unboxing Pictures
  • Justis on [Software]Conduits Pocketplayer 3.6 is Cracked!!

Tag

App browser c720w chris fizz font game google HTC iPhone iPhone4 java lockscreen microsoft MKMF mp3 Music Noki opera PPC q9 Retina ringtone ritina rom rss Sbsettings show Smartphone Software sony ericsson system theme ttf twitter txt ucweb unboxing vista wallpaper winterboard wm6.1 wp7 yahoo 蔡智恒

Dear's Blog

  • Anni.e.Xtra
  • 『听风且吟』
  • Cindy POP Music Blog
  • 空想枫
  • D.C Life
  • Free eBooks & Magazines Download
  • HD MV Download Site
  • Hexy.cc-嘿嘻嘻
  • In Touch 580sec
  • IOICN
  • IPB Forums
  • IT580.COM

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Alexa

EvoLve theme by Theme4Press  •  Powered by WordPress Cindy iPhone & Windows Mobile Blog

Back to Top
loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.