X02HT用XML解析


XMLの記述だけで(ある程度は)自分好みのホーム画面を作れます。
解説本も無くて苦労しました。自分で調査・実験した内容を忘れないようメモしときます。
※あくまで実験した結果での分析なので、誤りもあると思います。

【参考サイト】

【目次】 ※XMLファイル構成順に記載



HomescreenにするXMLファイルは、必ず「名前.home.xml」。
基本構造は

<?xml version="1.0"?>
 <home>
    <default></default>     ←Homescreen全体の書式などの設定
    <background/>  ←壁紙などの設定
    <scheme></scheme>  ←色の設定
    <plugin></plugin>        ←表示させるPluginの設定
 </home>

となっている。
HTMLと同じような感覚で「<home></home>」の中に各設定を記述してゆく。
ほとんどのHomescreenでは冒頭で「<?xml version="1.0"?>」でファイル素性の宣言をしているが記述しなくても問題無い。




<home>から<default>までの表記例と解説。

<home>
   <author>Microsoft Corporation</author> ←このhomeXMLの作者。
   <contacturl>http://www.microsoft.com/ </contacturl> ←作者のHP。
   <title lang="0x0409">Full layout</title> ←ホーム設定画面での表示名。
   <version>1.0</version> ←このホームスクリーンの作成バージョン。

そして<default>での設定へと続く


◆メモ
・<author>○○</author> は記述無くても問題無し。
・<contacturl>http://○○/ </contacturl> も記述無しで問題無し。
・<title>Full layout</title>
 →記述必須。これが無いと設定画面で選択できない。
 →「<title lang="○○">」記述にすれば言語ごとの表示名を指定できる。
・<version>1.0</version> も記述無しで問題無し。




<default>の表記例と解説。

<default
   target-width="240" target-height="320" ←HomeScreenサイズ設定。
   font-face="nina" ←ninaフォントを使用する。
   font-size="14" ←フォントサイズは「14pix」。
   font-weight="bold" ←フォントを太字にする。
   padding-left="4" ←画面端の左から4pix内側に表示する。
   padding-right="4" ←画面端の右から4pix内側に表示する。
   bgcolor="transparent"
   fgcolor="COLOR_HOMETEXT" ←HomeScreenの文字色。
   padding-top="2" ←画面端の上から2pix内側に表示する。
   b-border-color="COLOR_HOMERULE" ←pluginの区切線の色。
   b-border-width="1"> ←pluginの区切線の太さは「1」。
 <format state="selected" fgcolor="COLOR_HOMEHIGHLIGHTTEXT"/> ←選択時の文字色。
</default>


◆メモ
・この<default></default>で可能な限り共通設定を施す事。それによって
 ファイルサイズの削減ができるし変更やメンテも楽になる。
・target-width="240" target-height="320"
 →記述必須。これが無いとメチャクチャ拡大された表示になる。
・font-size
 →設定無しの場合21〜22程度のサイズになる。
・font-weight="bold"
 →記載しなければ標準の太さになる(「font-weight="nomal"」と同義)
・padding-left/right/top/bottom="○"
 →この記載が無ければ、余白無しで端から表示開始。
・bgcolor="transparent"
 →「bgcolor」はバックグランドの色指定。色コード「#xxxxxx」の指定でもOK。
 →「transparent」は意味不明。記述無しでもOK
・fgcolor="COLOR_HOMETEXT"
 →「bgcolor」同様、色コード「#xxxxxx」の指定でもOK。
・b-border-color="COLOR_HOMERULE"
 →pluginの区切線の色設定。色コード「#xxxxxx」の指定でもOK。
 →「b-border-width="1"」と共に表記しなければpluginの区切り線は非表示。
・format state="selected" fgcolor="COLOR_HOMEHIGHLIGHTTEXT"/>
 →plugin選択時の文字色設定。色コード「#xxxxxx」の指定でもOK。




<background/>の表記例と解説。
※設定画面の「背景イメージ」で設定するなら記述不要。

<background
   bgimage="\windows\Mobile.jpg" ←壁紙の指定。
   bgimage-rotated="\windows\MobileLS.jpg" ←LandScape時の壁紙の指定。
   valign="bottom" ←壁紙の配置。
   bgcolor="COLOR_TRAYGRADLEFT"/> ←分割色の設定。


◆メモ
・「bgimage-rotated="○○"」
 →X02HTの場合はランドスケープで固定なので「bgimage="○○"」でOK。
・「valign="top/bottom"」
 →指定する壁紙のサイズが画面と同じ320x240なら記述不要。
・「bgcolor="COLOR_TRAYGRADLEFT"」
 →色コードで指定したら何故か失敗。




<scheme>で設定可能な項目

◆Homeと全般に関係する設定項目
<color name="COLOR_HOMETEXT" value="#000000"/>
 →通常時(=項目非選択時)の文字色
<color name="COLOR_HIGHLIGHTTEXT" value="#FFFFFF"/>
 →選択時の文字色
<color name="COLOR_HOMERULE" value="#C54E0C"/>
 →通常時(=項目非選択時)の文字色。SoftbankメールPluginの下線。
<color name="COLOR_HOMEHIGHLIGHT" value="#00143C"/>
 →項目やアイコンを選択した時の帯、バックグラウンド色。
<color name="COLOR_MENU" value="#FFFFFF"/>
 →アイコンバーの背景色
<color name="COLOR_MENUTEXT" value="#000000"/>
 →アイコンバーに表示される項目の文字色
<color name="COLOR_TRAYGRADLEFT" value="#e80000"/>
 →ソフトキーエリアのグラデーション色(Starting)。必須。
<color name="COLOR_TRAYGRADRIGHT" value="#e80000"/>
 →ソフトキーエリアのグラデーションのEnding色。
      "COLOR_TRAYGRADLEFT"で設定していれば記述無しでもOK。
<color name="COLOR_TRAYTEXT" value="#000000"/>
 →タイトルバーの文字色。

※「COLOR_TRAYGRADLEFT」は、他のテーマと同じ色設定の場合に限って削除
    してもOK。記述が無い場合、そのホームに設定する直前のテーマの色を
    踏襲するため。だが余計なファイルを増やすなら記述したほうが軽い。
※Homeの設定に限っては、「color name」は<default>や<background/>での
   指定とマッチさえしていれば、あまりこだわる必要が無いように思うが・・・


◆設定画面やファイルエクスプローラ用の設定項目
<color name="COLOR_WINDOW" value="#FFFFFF"/>
 →設定画面の背景色。
<color name="COLOR_WINDOWTEXT" value="#000000"/>
 →メニューや選択画面の文字色。
<color name="COLOR_HIGHLIGHT" value="#e80000"/>
 →項目選択時の帯の色

<color name="COLOR_BTNFACE" value="#e80000"/>
 →パス表示領域やスクロールバーそのものの色設定。
<color name="COLOR_WINDOWFRAME" value="#000000"/>
 →スクロールバーの枠線の指定。 ※他に影響ないか確認要
<color name="COLOR_SCROLLBAR" value="#e80000"/>
 →スクロールバーの移動可能範囲部を「白+指定色」の縞模様にする。

<color name="COLOR_GRADLEFT" value="#000000"/>
 →メニュー画面背景のグラデーションの左側の色。
<color name="COLOR_GRADRIGHT" value="#FFFFFF"/>
 →メニュー画面背景のグラデーションの右側の色。
<color name="COLOR_INTGRADLEFT" value="#FFFFFF"/>
 →メニュー画面背景のグラデーションの左側の色。
<color name="COLOR_INTGRADRIGHT" value="#000000"/>
 →メニュー画面背景のグラデーションの右側の色。

※"COLOR_INTGRADLEFT/RIGHT"と"COLOR_GRADLEFT/RIGHT"両方を設定
   した場合、"INTGRADLEFT/RIGHT"と"GRADLEFT/RIGHT"で設定したラインが
   交互に表示される。


◆確認中の設定項目
<color name="COLOR_STATIC" value="○○"/>
<color name="COLOR_STATICTEXT" value="○○"/>
<color name="COLOR_TEXTSELECT" value="○○"/>
<color name="COLOR_GRAYTEXT" value="○○"/>
<color name="COLOR_HIGHGRADLEFT" value="○○"/>
<color name="COLOR_HIGHGRADRIGHT" value="○○"/>
<color name="COLOR_BTNTEXT" value="○○"/>
<color name="COLOR_alertWINDOW" value="○○"/>
<color name="COLOR_alertTITLE" value="○○"/>
<color name="COLOR_alertRULE" value="○○"/>





各Pluginを設定する上で覚えておく項目。
・PluginはXMLに記述する順番がHome画面で表示させたい順番。
・「<plugin clsid="{○○}" name="○○"」の記述はPluginごとに固有で例外無し。
・Pluginの設定要素にて数字のものは全てピクセル値。
・Pluginでは「height」の設定が必須。これが無いとそのPluginは表示されない。
・<label></label>で一段表示。よって、<plugin></plugin>間に<label></label>を
 入れた分だけ段数を分ける事が可能。デフォルトの予定表示がこの記述。
・Plugin の表示設定は<label><text><○○/></text></lavel>で設定するが、
 <text></text>の間は任意の文字を入れ、表示させる事が可能。
 ※例えば↓こんな感じ。





電波状況やバッテリ残量の表示領域の設定。

<plugin clsid="{837FC251-FE69-43ad-84E0-EBCEDEBA0884}" name="iconbar"
     height="20"> ←たいてい記述されているが、必要無し。
  <iconbar fgcolor="COLOR_TRAYTEXT"/> ←背景色の指定。無しで透明。
  <background gradient="title" bgcolor="COLOR_TRAYGRADLEFT"
         →「bgcolor」で指定した色をグラデーション表示。
   b-border-color="COLOR_WINDOWFRAME"  ←境界線の色指定。
   b-border-width="1"/> ←境界線の幅指定。記述無しで線は消える。
</plugin>

◆メモ
・このPluginは色の設定しかできない。色は指定色か「透明」にするかのみ。
・「height」設定はアイコンバーに限っては不要。
・<background/>において「gradient="title"」が無ければ、クラデーション
   無しの平坦な表示になる。




ショートカットアイコンの表示領域。

<plugin clsid="{79EFB752-CB70-446d-B317-499723482B3D}" name="startmru"
     height="38"> ←表示領域縦幅を38pixに設定。
  <<mru y="2"  ←端から2pix分内側にズラして表示。
  <icon-size="16"/> ←アイコンサイズ16pix版を指定。
</plugin>

◆メモ
・「icon-size」は記述無しの場合デカいアイコン("32")になる。




時計、日付とキャリア名の表示。

<plugin clsid="{E09043DF-510E-4841-B652-388316977A7A}" name="carrier"
     height="40"> ←表示領域縦幅を40pixに設定。
   <allowselection/> ←『Comm Manager』へのショートカット記述。
   <label y="-2" font-size="22"> ←キャリア名表示の各設定。
      <text><carrier/></text>
   </label>
   <clock>
      <date x="-44" y="0" halign="right" font-size="18"/> ←日付の表示設定。
      <time y="-2" halign="right" font-size="22"/> ←時計の表示設定。
   </clock>
</plugin>

◆メモ
・<date>に「mode-"short"」追記で「短い日付」を指定可能。
・<allowselection/>の記述が無いとキャリア表示部は選択不可能になり、
 カーソル移動時にスキップされる。




不在着信のお知らせ表示。

<plugin clsid="{0BA8ABB8-1F1D-417f-88C6-DA8530E2E7A6}" name="missedcalls"
     height="20"> ←表示領域縦幅を20pixに設定。
   <background>
      <format state="selected" bgcolor="COLOR_HOMEHIGHLIGHT"/>
   </background>
   <format state="nocall" visible="false"/> 
      →「着信無い場合は表示しない」という設定
   <label h="16">
      <text>Missed calls: <calls/></text> ←表示する文字の設定
   </label>
</plugin>

◆メモ
・わざわざ別画面で表示させる事も可能。




Calendarに終日イベントが設定された場合に表示。例えば誕生日。

<plugin clsid="{2FFD93B3-0FF0-4228-A6D6-D2DF177D7D92}" name="alldayevent"
     height="20"> ←表示領域縦幅を20pixに設定。
   <background>
      <format state="selected" bgcolor="COLOR_HOMEHIGHLIGHT"/>
   </background>
   <format state="noevent" visible="false"/>
      →「全日の予定が無い場合は表示しない」という設定
   <label h="16">
      <text>subject/></text> ←表示する文字の設定
   </label>
</plugin>

◆メモ
・「<subject/>」がイベント内容。




予定の表示。

<plugin clsid="{865A354A-4A96-4687-B001-C155DC0DBE76}" name="calendar"
     height="20"> ←表示領域縦幅を20pixに設定。
   <background>
      <format state="selected" bgcolor="COLOR_HOMEHIGHLIGHT"/>
   </background>
   <format state="noevent" visible="false"/>
      →「全日の予定が無い場合は表示しない」という設定
   <label h="16">
      <text><subject/></text> ←イベントの表示設定
   </label>
   <label h="16">
      <text><time/><location/></text> ←時間と場所の表示
   </label>
</plugin>

◆メモ
・「<subject/>」がイベント内容。
・「<time/>」が開始時間。翌日の予定の場合は日付も表示される。
・「<location/>」が場所。
・「<label><label/>」の数だけ表示段数が増える。上記の場合は2段表示。




未読メールのカウンタ表示。

<plugin clsid="{2F930BF0-6FE9-4a53-9E17-88E9247BAB48}" name="msgcount"
     height="20"> ←表示領域縦幅を20pixに設定。
   <background>
      <format state="selected" bgcolor="COLOR_HOMEHIGHLIGHT"/>
   </background>
   <label h="16"><text>
      <E-mail (<unreadEmail/>), SMS (<unreadSMS/>), MMS (<unreadMMS/>)>
         →未読メールカウンタの表示設定
   </text></label>
</plugin>

◆メモ
・「"E-mail (<unreadEmail/>)"」だけ記述した場合、EmailとSMS合計の未読数が
 表示される。メーラーとしてSoftBankメールだけ使用の場合はそれで問題無し。




設定されたプロフィールを表示。(通常モードやサイレントモードなど)

<plugin clsid="{95976968-45D5-40c9-9779-2B859B1C2FEC}" name="profile"
     height="20"> ←表示領域縦幅を20pixに設定。
   <background>
      <format state="selected" bgcolor="COLOR_HOMEHIGHLIGHT"/>
   </background>
   <label h="16"><text>
         Profile: <profile/> →プロファイルの表示設定
   </text></label>
</plugin>

◆メモ
・「<text singleline="true">Profile:」という表記もあるが、意味無しと思われる。
 →削除してても特に問題出ていない。




自分では使用しないが、設定可能なその他のPlugin。

1.「Softbankメール」のPlugin

「clsid="{55EE36E7-7CC3-47e8-85E2-1D8644280E7A}" name="Message count"」
「clsid="{8486CC1E-025B-4888-9C76-048DF7C1787D}" name="Message count2"」

◆メモ
・X02HTデフォルトのホームを参照。「Message count2」では「autoheight="false"」と
 「autoheight="true"」の2パターン記述されていた。


2.「Call Progress」のPlugin

「clsid="{37391041-C324-4725-BEE1-3232ED3539CA}" name="callprog"」

◆メモ
・XML記述を見ると『通話中』を示すPlugin。何の役に立つのか不明なので無視。





<background><format>とで設定できる要素のまとめ。
これらでPluginの字体、マージン、配置、色などを設定できる。
「既定」と書いたものは「記述がなければそうなる」という意味。

1.「<background>」の要素

・bgimage →壁紙を指定する場合に使用。
・bgcolor →pluginの背景色、分割線。
・halign →背景画像の横方向を設定。設定値は「left(既定), right, center」。
・valign →背景画像の縦位置を設定。設定値は「top(既定), center, bottom」。
・l-border-width →Plugin左側境界線幅の設定。既定はゼロ(境界線無し)。
・t-border-width →Plugin上部境界線幅の設定。既定はゼロ(境界線無し)。
・r-border-width →Plugin右側境界線幅の設定。既定はゼロ(境界線無し)。
・b-border-width →Plugins下部境界線幅の設定。既定はゼロ(境界線無し)。
・l-border-color →境界線左側の色指定。既定は黒。
・t-border-color →境界線上部の色指定。既定は黒。
・r-border-color →境界線右側の色指定。既定は黒。
・b-border-color →境界線下部の色指定。既定は黒。
・gradient →色効果(?)設定。設定可能なものは、"title"と"app"。 既定は設定無し。



2.「<format>」の要素

・state →"selected"と"unselected"時のplugin状態を指定。
・bgcolor →pluginの背景色、分割線。
・bgtext →テキスト色。既定は透明。
・font-face →フォントの設定。
・font-size →フォントサイズの指定
・font-style →テキストのスタイル設定。既定は標準体。イタリックも選択可(?)
・font-weight →文字の太さ。100〜900の値で設定するか、
         「Bold(700)」、「nomal(400。既定)」で指定。
・fgcolor →HOME画面の文字色。但しSoftbankメールPluginには対応せず(?)
・halign →要素(テキストなど)の横位置を設定。
         設定値は「left(既定), right, center」。
・valign →要素(テキストなど)の縦位置を設定。
         設定値は「top(既定), center, bottom」。
・x →任意のX座標(左手縁から)にpluginの要素を表示する設定。
・y →任意のY座標(先端から)にpluginの要素を表示する設定。
・w →画素か画面サイズの割合とした要素の幅のセット。
・h →画素かpluginの高さの割合とした要素の高さのセット。
・padding-left →pluginの左のマージン設定。既定はゼロ。
・padding-right →pluginの右のマージン設定。既定はゼロ。
・padding-top →pluginの上側のマージン設定。既定はゼロ。
・padding-bottom →pluginの下側のマージン設定。既定はゼロ。







Copyright(C) K1's Homepage , All Rights Reserved