|
|
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の下側のマージン設定。既定はゼロ。 |