• 47

[分享]SPB Mobile Shell 3.5 主題DIY

icewei wrote:
每回從外國網站下載的theme都非常優秀,只不過有關天氣部份幾乎都是英文,例如:地名及天氣名稱等等,望請大大能夠替大伙解決如何完全中文化,謝謝....(恕刪)

Mobile Shell 預設是抓取國外某個網站的氣象資料,因此城市名稱以英文顯示,無法更改,mobile shell也沒有提供讓你變更氣象資料來源的功能. 你必須另外購買Spb Weather才行,安裝Spb Weather後,你還必須修改它的template,改成台灣中央氣象局的資料,地名就可以變成中文,請參考下面這篇文章.
【更新】2007-02-09讓Spb Weather取得中央氣象局的天氣資料

至於天氣名稱,其實原理很簡單,我看過很多主題,他們的做法都是一樣. Mobile Shell 的氣象圖,有(16x16,32x32,40x40,64x64)四種尺寸,檔案列表如下:
QVGA / WQVGA專用: qa_weather_32.dat, qa_weather_40.dat,及qa_weather_64.dat
VGA / WVGA專用: va_weather_32.dat, va_weather_40.dat,及va_weather_64.dat
每個dat檔案裡面的BMP圖檔,有31個氣象icon圖,Mobile Shell會根據氣象資料,選擇其中一個氣象icon圖來顯示,並沒有天氣名稱. 這些主題,他們為了顯示天氣名稱,因此將裡面的31個氣象icon圖,全部塗成黑色,然後在圖裡面打上天氣名稱的字,基本上他還是31個氣象icon圖.

因此,並沒有辦法直接用翻譯的方式,將英文天氣名稱改成中文,你必須找出這些dat檔案(檔名應該與上面列的不同,每個主題他會自己另外命名,請從檔案名去猜,我看他們的檔名喜歡包含weather及info這兩個字,請自己找找),用繪圖的方式,將裡面的英文字,自己翻譯,改成中文字即可.
謝謝大大的解惑,據自己的了解,城市名可在內碼編輯器修改,但只能修改目前在使用的,至於天氣名稱,我翻了老半天依舊找不到大大的提示,但感謝大大的指教.
dabow09 wrote:
我也是使用阿芬機,也...修改CallLog.xml檔案(恕刪)

多謝版主大大提醒,已修正完畢!感恩!
[分享] SPB Mobile Shell 3.5 主題DIY - 如何新增氣象樣式
氣象widget預設有簡單,小,中,大,白色-小,白色-中,白色-大,及專業,共八種樣式. 可顯示的資訊,包含城市,溫度,日期,風速,溫度,壓力,及未來四天的預測溫度. 本篇教學將教導大家如何新增一個氣象widget樣式,學會這個原理及技巧之後,你就可以舉一反三,決定要顯示哪些氣象圖及氣象資訊,自己新增多款氣象樣式.

以下將教導大家新增一款128x128(QVGA)/256x256(VGA)尺寸的氣象樣式,只顯示城市名稱及溫度兩個資訊,其餘資訊雖然不顯示,不過將會對參數說明,若你想要顯示,只要設定好x,y座標位置,寬度及高度,該項資訊就可顯示出來.

[步驟一]
Mobile Shell 的氣象圖檔,有四種尺寸,檔案列表如下:
QVGA / WQVGA專用:
qa_weather_16.dat, 尺寸為16x16
qa_weather_32.dat, 尺寸為32x32
qa_weather_40.dat, 尺寸為40x40
qa_weather_64.dat, 尺寸為64x64
VGA / WVGA專用:
va_weather_16.dat, 尺寸為32x32
va_weather_32.dat, 尺寸為64x64
va_weather_40.dat, 尺寸為80x80
va_weather_64.dat, 尺寸為128x128

我覺得上面最大的尺寸還不夠看,因此另外增加了一個更大尺寸的圖檔,如下
QVGA / WQVGA專用: qa_weather_128.dat , 尺寸為128x128
VGA / WVGA專用: va_weather_128.dat , 尺寸為256x256

以下收集的5款氣象圖檔,我已經將其重新調整成上述的尺寸,直接下載,複製到你PDA中mobile shell的安裝資料夾內.





第1款


第2款


第3款


第4款


第5款



第01-05款氣象圖檔(QVGA/WQVGA專用)

第01款氣象圖檔(VGA/WVGA專用)
第02款氣象圖檔(VGA/WVGA專用)
第03款氣象圖檔(VGA/WVGA專用)
第04款氣象圖檔(VGA/WVGA專用)
第05款氣象圖檔(VGA/WVGA專用)


[步驟二]
新增的氣象樣式定義檔(Extra-大 ), 我將檔案取名如下,直接下載,複製到你PDA中mobile shell的安裝資料夾內.

QVGA / WQVGA專用: qa_weather_widget_Big.dat
VGA / WVGA專用: va_weather_widget_Big.dat

[進階說明]
完整的氣象樣式定義檔(..._weather_widget_Big.dat)解壓縮後,裡面共有11個檔案(Background.bmp, Background_m.bmp, BackgroundPro.bmp, BackgroundPro_m.bmp, Humidity.bmp, Humidity_m.bmp, Pressure.bmp, Pressure_m.bmp, WindSpeed.bmp, WindSpeed_m.bmp 及 index.xml). 沒有使用到的bmp圖檔,可以刪除. 上面所提供的氣象樣式定義檔(..._weather_widget_Big.dat) ,因為我只顯示氣象圖而已,所以只保留Background.bmp, Background_m.bmp, 及 index.xml三個檔案而已,其餘全部刪除.

1.修改氣象背景底圖,尺寸可以隨你高興更改,不一定要跟預設的尺寸一樣.當你按下氣象widget時,會以此底圖的尺寸,當作此widget的感應範圍. 氣象資訊所要顯示的位置,也是以此背景圖當作參考點.
Background.bmp及Background_m.bmp : 此為氣象背景底圖之檔案,因為我只想要顯示氣象的icon圖案,不想要有任何背景圖,因此將此bmp圖檔,全部塗成黑色.

2.修改氣象的定義檔 Index.xml,以決定你要顯示哪些資訊及其座標位置. 以下將解釋所有內容參數的意義,你可以刪除沒有使用到的參數程式碼,或是將高度及寬度設定為零,該項資訊就不會顯示出來.

<String Name="WeatherSkin" Value="qa_weather_128" />
設定今日天氣,使用qa_weather_128.dat氣象圖檔.

<String Name="SWeatherSkin" Value="qa_weather_16" />
設定未來四天天氣,使用qa_weather_16.dat氣象圖檔.

<Bitmap Name="Background" Image="Background.bmp" Mask="Background_m.bmp" />
設定底圖使用Background.bmp及Background_m.bmp圖檔

<Bitmap Name="BackgroundPro" Image="BackgroundPro.bmp" Mask="BackgroundPro_m.bmp" />
設定專業樣式底圖使用的BackgroundPro.bmp及BackgroundPro_m.bmp圖檔. 如果你在下一個[步驟三],氣象widget的定義,有加<Int Name="UseProFace" Value="1" />這一行,底圖將會改用這個bmp檔案.

<Bitmap Name="Humidity" Image="Humidity.bmp" Mask="Humidity_m.bmp" />
設定溼度使用Humidity.bmp及Humidity_m.bmp圖檔

<Bitmap Name="Pressure" Image="Pressure.bmp" Mask="Pressure_m.bmp" />
設定壓力使用Pressure.bmp及Pressure_m.bmp圖檔

<Bitmap Name="WindSpeed" Image="WindSpeed.bmp" Mask="WindSpeed_m.bmp" />
設定風速使用WindSpeed.bmp及WindSpeed_m.bmp圖檔

<Rect Name="CityNameRect" X="8" Y="5" Width="170" Height="12" />
設定城市資訊顯示的座標位置及大小

<Rect Name="TemperatureRect" X="8" Y="20" Width="170" Height="20" />
設定溫度資訊顯示的座標位置及大小

<Rect Name="UpdatedRect" X="8" Y="40" Width="170" Height="20" />
設定今天日期資訊顯示的座標位置及大小

<Rect Name="WindSpeedRect" X="63" Y="19" Width="70" Height="12" />
設定風速資訊顯示的座標位置及大小

<Rect Name="PressureRect" X="63" Y="31" Width="70" Height="12" />
設定壓力資訊顯示的座標位置及大小

<Rect Name="HumidityRect" X="63" Y="43" Width="70" Height="12" />
設定溼度資訊顯示的座標位置及大小

<Rect Name="SkyIconRect" X="115" Y="0" Width="60" Height="60" />
設定今日氣象icon圖顯示的座標位置及大小

<Rect Name="SkyIconSRect" X="10" Y="56" Width="166" Height="33" />
設定未來四天氣象icon圖顯示的座標位置及大小

< Font Name="UpdatedFont" Face = "Tahoma" HeightPxl="9" Bold="n" />
<Color Name="UpdatedColor" Value = "737373" />
<Color Name="UpdatedColorPro" Value = "D0D0D0" />
<Color Name="UpdatedAlign" Value = "000004" />

< Font Name="SmallFont" Face = "Tahoma" HeightPxl="9" Bold="n" />
<Color Name="SmallColor" Value = "2A2A2A" />
<Color Name="SmallColorPro" Value = "FFFFFF" />
<Color Name="SmallAlign" Value = "000004" />

< Font Name="MediumFont" Face = "Tahoma" HeightPxl="9" Bold="n" />
<Color Name="MediumColor" Value = "FFFFFF" />
<Color Name="MediumColorPro" Value = "FFFFFF" />
<Color Name="MediumAlign" Value = "000004" />

< Font Name="LargeFont" Face = "Tahoma" HeightPxl="18" Bold="n" />
<Color Name="LargeColor" Value = "2A2A2A" />
<Color Name="LargeColorPro" Value = "FFFFFF" />
<Color Name="LargeAlign" Value = "000004" />
上面這四段程式碼,定義了UpdatedFont,SmallFont,MediumFont,及LargeFont四種字體大小及顏色,就不多做說明,值得一提的是LargeAlign參數值,表示文字水平及垂直對齊方式,數值意義如下:



靠上對齊,水平置中 : Value = 1
靠上對齊,靠右對齊 : Value = 2

垂直置中,水平置中 : Value = 0
垂直置中,靠左對齊 : Value = 4
垂直置中,水平置中 : Value = 5
垂直置中,靠右對齊 : Value = 6

靠下對齊,靠左對齊 : Value = 8
靠下對齊,水平置中 : Value = 9
靠下對齊,靠右對齊 : Value = A

以下列出每個氣象資訊使用的字體:
城市名稱 : MediumFont
今天溫度 : LargeFont
今天日期 : UpdatedFont
風速,溫度,壓力,及未來四天的預測溫度 : SmallFont

[步驟三]
1. 請到第67樓,[分享] SPB Mobile Shell 3.5 主題DIY - 如何自定 Widgets,下載WidgetsExtra.xml檔案,然後將WidgetsExtra.xml這個新增檔案,重新用密碼壓縮儲存到qa_layouts.dat裡面.
2. 然後將剛才你新製作好的qa_layouts.dat檔案,複製到你PDA中mobile shell的安裝資料夾內,覆蓋掉原來的檔案.

[進階說明]
WidgetsExtra.xml檔案,裡面定義了一款新增的"氣象widget",因為mobile shell的氣象widget有兩種,一個是預設的氣象,另一個是Spb weather的氣象,因此要分開來個別定義. 程式碼如下:

<Plugin Name="WeatherExtraBig" Class="Spb.LSP.Weather" Skin="qa_weather_widget_Big" DoubleSkin="va_weather_widget_Big" MiddleSkin="ma_weather_widget_Big" BoldFont="n">
<Int Name="UseProFace" Value="0"/>
<DefaultFont Face="Tahoma" HeightPxl="12" Bold="y" Color="FFFFFF"/>
</Plugin>

<Plugin Name="SPBWeatherExtraBig" Extends="WeatherExtraBig" Class="Spb.LSP.SPBWeatherWidget"/>

第一個widget名稱為WeatherExtraBig,用來定義預設的氣象widget. 下面說明每個參數的意義.

Name="WeatherExtraBig"
設定此widget的名稱為 WeatherExtraBig, 這個名稱可以任意更改成你喜歡的名稱.

Class="Spb.LSP. Weather"
設定此widget屬於什麼Class, 指定為Spb.LSP.Weather, 表示這是氣象的class,所以此行請勿更改.

Skin="qa_weather_widget_Big"
設定QVGA使用qa_weather_widget_Big.dat的氣象樣式定義檔案. 如果你在[步驟二]所製作的氣象樣式定義檔的檔名與我的不同,請設定成你的檔名.(只要主檔名即可,不要包含.dat附檔名)

DoubleSkin="va_weather_widget_Big"
設定VGA使用va_weather_widget_Big.dat的氣象樣式定義檔案. 如果你在[步驟二]所製作的氣象樣式定義檔的檔名與我的不同,請設定成你的檔名.(只要主檔名即可,不要包含.dat附檔名)

MiddleSkin="ma_weather_widget_Big"
設定SVGA使用ma_weather_widget_Big.dat的氣象樣式定義檔案.

註:上面Skin, DoubleSkin及MiddleSkin三個參數, 根據你手機解析度的那個參數,一定要設定正確,其餘兩個沒有作用,所以其實隨便設定什麼值都沒關係. 例如,QVGA手機,Skin一定要設定成你所製作的*.dat氣象樣式定義檔名, 而DoubleSkin及MiddleSkin雖然你有指定檔名,但是你並不需要製作這兩個檔案,因為這兩個檔案是給VGA 及SVGA使用的,QVGA手機根本用不到.

Int Name="UseProFace" Value="0"
Value=0表示使用"Background"底圖,Value=1表示使用"BackgroundPro"底圖,請參考步驟二的說明.

DefaultFont Face="Tahoma" HeightPxl="12" Bold="y" Color="FFFFFF"
設定預設的字體大小及顏色.

第二個widget名稱為SPBWeatherExtraBig,用來定義Spb weather的氣象widget. 下面說明每個參數的意義.

Extends="WeatherExtraBig"
表示沿用WeatherExtraBig的定義,除非參數有另外設定新的值,否則與WeatherExtraBig的設定值相同.

Class="Spb.LSP.SPBWeatherWidget"
設定此widget屬於什麼Class, 指定為Spb.LSP.SPBWeatherWidget, 表示這是Spb weather氣象的class,所以此行請勿更改.

[步驟四]
將步驟三新增的widgets,登錄到Registry註冊表內,Mobile Shell才會認得到這些新增的widgets樣式. 我已經幫大家做好一個cab執行檔,請將下面這個SetExtraWeather.cab執行檔,複製到你的手機內,執行安裝後,就會幫你將新增的"氣象widget"之登錄資料,寫入註冊表. (註: 這個cab執行檔只是寫資料到註冊表裡面,並不會複製任何檔案到你的手機內,請放心使用)
附加壓縮檔: SetExtraWeather.cab

[進階說明]
請用註冊表編輯程式(我使用的是PHMRegEdit免費軟體,搜尋一下很容易找到),打開registry註冊表,找到下面位置
[HKEY_LOCAL_MACHINE\SOFTWARE\Spb Software House\Shared\Spb Menu\WidgetPackages\]

SetExtraWeather.cab執行檔,執行後,會在"Spb.WidgetsExtra"裡面新增兩個項目,名稱可隨你高興自取,但是最好跟widget的名稱相同,這樣比較容易理解. 因為前面我們在WidgetsExtra.xml裡面,已經定義了兩個"氣象widget"的名稱,分別為WeatherExtraBig 及 SPBWeatherExtraBig. 所以我就沿用這兩個名稱,在"Spb.WidgetsExtra"裡面新增兩個項目,如下圖.


在WeatherExtraBig 這個項目裡面,新增四個key, 內容如下:

a. 值名稱"Class",值類型為字串值(String),值數據為 "WeatherExtraBig:WidgetsExtra"
---- 冒號前面的字串,表示此widget的名稱. 冒號後面的字串,表示定義此widget的檔案名稱. 因為WeatherExtraBig是定義在WidgetsExtra.xml檔案內,所以合併起來,值數據就是 "WeatherExtraBig:WidgetsExtra".

b. 值名稱"Index",值類型為雙字節值(DWORD),值數據為 "10"
---- 設定widget列表中的順序,數值越小,則此widget將會列在越前面的位置.

c. 值名稱“PluginClass",值類型為字串值(String),值數據為 "Spb.LSP.Weather"
---- 設定此widget屬於什麼Class, 指定為Spb.LSP.Weather, 表示這是氣象widget,此行請勿更改.

d. 值名稱"Size",值類型為字串值(String),值數據為 "Big"
---- 設定在widget列表內,此widget所要顯示的名稱,可隨你高興自取,也可以使用中文名稱.雖然我設定為"Big",但是剛好在SpbMobileShell.txt的語系翻譯檔裡面,將"Big"翻譯成"大",所以你在新增widget列表內顯示的是中文"大",而不是英文"Big".

同理, 在SPBWeatherExtraBig這個項目裡面,新增四個key, 內容如下:

a. 值名稱"Class",值類型為字串值(String),值數據為 "SPBWeatherExtraBig:WidgetsExtra"
---- 冒號前面的字串,表示此widget的名稱. 冒號後面的字串,表示定義此widget的檔案名稱. 因為SPBWeatherExtraBig是定義在WidgetsExtra.xml檔案內,所以合併起來,值數據就是 "SPBWeatherExtraBig:WidgetsExtra".

b. 值名稱"Index",值類型為雙字節值(DWORD),值數據為 "11"
---- 設定widget列表中的順序,數值越小,則此widget將會列在越前面的位置.

c. 值名稱“PluginClass",值類型為字串值(String),值數據為 "Spb.LSP.SPBWeatherWidget"
---- 設定此widget屬於什麼Class, 指定為Spb.LSP.SPBWeatherWidget, 表示這是SPB Weather氣象widget,此行請勿更改.

d. 值名稱"Size",值類型為字串值(String),值數據為 "Big"
---- 設定在widget列表內,此widget所要顯示的名稱,可隨你高興自取,也可以使用中文名稱.雖然我設定為"Big",但是剛好在SpbMobileShell.txt的語系翻譯檔裡面,將"Big"翻譯成"大",所以你在新增widget列表內顯示的是中文"大",而不是英文"Big".

[步驟五]
完成上面四個步驟之後,重新開機或重新執行Mobile Shell,即可在"氣象widget" 及 "SPB weather氣象widget" 列表內,選用你新增的氣象樣式了.
[教學] 如何將氣象與Diamond數位時鐘合併
很多人很喜歡網路上分享的MSkip主題中的一個特色,就是在Diamond數位時鐘上面,顯示一個大大的氣象圖,其實原理很簡單,它是利用三種不同的widget,重疊在一起,所產生的錯覺. 我們利用第114,287,及294樓三篇教學,就可以達成這個目的.

[步驟一]
請參考第287樓SPB Mobile Shell 3.5 主題DIY - 如何新增色塊樣式的教學,新增一個樣式為"Extra-色塊(中)"的色塊.


[步驟二]
請參考第114樓SPB Mobile Shell 3.5 主題DIY - 如何新增數位時鐘樣式的教學,新增一個樣式為"Extra-大"的Diamond數位時鐘,然後將其移動位置,重疊到色塊上面.


[步驟三]
請參考第294樓SPB Mobile Shell 3.5 主題DIY - 如何新增氣象樣式的教學,新增一個樣式為"Extra-大"的氣象widget 或 SPB weather氣象widget,然後將其移動位置,重疊到色塊上面,就大功告成.
這位版大大 我對於你的文章覺得非常出色 但我這位對電腦很兩光的人也想改改看天氣圖我試過之後就卡在第一關改完壓縮檔後來就看不懂了 ......
你可以再提供改完的天氣圖 讓我們這些對電腦兩光的人比較好操作
用覆蓋到PDA的方式大家比較會操作

我找這個修改天氣圖好久了但對於太複雜的又很頭痛

請你幫個忙 ...... 謝謝你
我想問一下是不是 安裝 SPB Mobile Shell 系列裡面的氣象就沒辦法跟 S2U2 系列的鍵盤鎖會出現氣象小圖相容呢?
還沒裝 SPB Mobile Shell 系列之前 我的S2U2 鍵盤鎖左邊會出現氣象小圖 ......
到目前我還在找這個問題 想請教你是不是可以幫我找出答案......
謝謝你
dabow09大大:
麻煩幫我解決以下問題,本人研究半天功力僅限如此,程式中的函數部份了解,但少了一味,請大大多花點時間閱讀及解答
主畫面
1.如何讓時間的hour在中間而不要有0的出現;2.度c的c要如何去掉而多了最高及最低度字樣;3.am及pm無法完整呈現(字呈白色且有一個字為....);4.鬧鈴的時間如何出現完整;

第二畫面
1.未接來電那一列我試著改過中文,但丟進後確變成僅有0的出現,圖片及字樣皆不見了


第四畫面
1.天氣圖能否在大一點;2.最高及最低度字樣出現;3.下面時間能否清楚一點;4.小格天氣圖再大一點

第五畫面
1.播放器能否不要這麼的陽春


第七畫面
1.連絡人圖片底部能否出現姓名


@@不要意思要求這麼多,主要是我以經用盡心力,所能呈現就這樣,雖然畫面再如何變化,我還是覺得...自爽嗎,管它用心計較也要把它搞出來,請大大幫我加持,謝謝.
重複刪除重複刪除重複刪除重複刪除重複刪除
UNO661975 wrote:
這位版大大 我對於你的文章覺得非常出色 但我這位對電腦很兩光的人也想改改看天氣圖我試過之後就卡在第一關改完壓縮檔後來就看不懂了 ......
你可以再提供改完的天氣圖 讓我們這些對電腦兩光的人比較好操作,用覆蓋到PDA的方式大家比較會操作...(恕刪)

有些就是沒有辦法直接提供覆蓋檔,所以我才會這麼辛苦寫教學文,一步一步教大家如何套用.其實不難的, 進階教學可以忽略不看,只看每個步驟開頭的套用方法即可,其實沒幾句話,不要被長篇的教學文嚇到了. 提供的套用方法,主要分成三類 :
1. 覆蓋檔 : 直接下載,複製到你PDA中mobile shell的安裝資料夾內.
2. 註冊表登錄資料 : 我已經幫大家作好cab執行檔,將其複製到手機內,執行安裝,就會將所有資料幫你輸入.
3. xml檔 : 這是要你自己用密碼,將其壓縮到你的qa_layouts.dat裡面. 因為每篇教學文有修改不同的 xml檔案, 所以無法直接提供覆蓋檔,只能每個人依他的需求,將修改的 xml檔案壓縮到qa_layouts.dat裡面.

你再仔細參考教學文試試看,真的不難,如果還有問題,請告知你要套用的是哪一樓的教學,你根據文章做了哪些動作,我再根據你做錯的地方,替你修正.

UNO661975 wrote:
我想問一下是不是 安裝 SPB Mobile Shell 系列裡面的氣象就沒辦法跟 S2U2 系列的鍵盤鎖會出現氣象小圖相容呢?
還沒裝 SPB Mobile Shell 系列之前 我的S2U2 鍵盤鎖左邊會出現氣象小圖...(恕刪)

這個問題與mobile shell無關, S2U2鍵盤鎖左邊會出現氣象小圖,是整合Spb weather 1.x舊版本,一年前Spb weather 2新版出來以後,S2U2就不再支援了,很多人反應過了,看樣子S2U2作者好像還沒有打算修改,這麼久了,也許是有技術上的問題吧. 請安裝Spb weather 1.x舊版本即可.
  • 47
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 47)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?