[實作講解] 自定義文字(按鈕教學)



一般的文字教學對於初學者來說可能還是有點太難了

所以特別從頭一步一步講解



這次要做的是台灣地區的口語修正



Step #1

萬年第一步 - 反編譯

反編譯之後的目錄如下



Step #2


首先先打開 AndroidManifest 看一下有沒有需要去除的權限

這套沒有比較危險的權限
所以可以不用管


Step #3

大部分的軟體需要翻譯的字串都會在 res 資料夾裡面
少部分會在 smali, 更少部分會在 asset
不過如果不是繁化遊戲的話
基本上都不太會碰到
這邊我們直接進入 res 資料夾


 

可以看到
裡面有很多的子資料夾

res 內大部分需要翻譯的字串都會在 values 裡面
其中,values 的 strings.xml 保存絕大部分需要翻譯的字串
這邊我們先進去 values 資料夾裡面看一下



上面提過軟體的字串大部分都會在 strings.xml 裡面
不過因為我確定這套的中文已經做得很完整了
所以把她打開來備用就好




Step #4


回到 res 目錄
點開 values-zh-rTW
這是繁中語系包
只要手機的地區是設定台灣通常就會顯示裡面的文字
點開後可以看到裡面只有兩個檔案

 

上面有說

我確定這套的中文已經做得很完整了

所以我們可以得知這套需要修正的檔案只有 arrays 和 strings

我們先打開 string 看一下




基本上可以確定字都在這裡面了
接下來就是體力活了

我稍微說一下
<string name="app_name"> 自定義文字 </string>

一般我們會看到類似的語句
需要繁化的部分就是 
<string name="****">??????</string> 
裡面的???? 部分
如果不是很熟練的狀況下
盡量不要動到 **** 部分
很可能會導致反編譯錯誤

Step #5

strings 和 arrays 都用好之後
大致上算完成了
不過這套我注意到她的設定選單是可以添加選項的
所以我決定添加按鈕

設定選單的布局一般是放在 XML 這個資料夾裡面

點開他會發現有個 xml 格式的布局設定檔
 

打開來看看


我隨便選一段來說明一下
<PreferenceCategory android:layout="@layout/preference_category_widget"android:title="@string/setting_about_module">
        <Preference android:layout="@layout/preference_item"android:title="@string/setting_module_name"android:summary="@string/setting_author_summary">
            <intent android:action="android.intent.action.VIEW"android:data="http://weibo.com/u/2194313104"/>
</Preference>



layout 主要是關係到程式的一些功能,不要隨便去動
title 是項目顯示的主要文字
summery 是附註文字
了解功能後我們就可以自己添加一個新的選項了


以下是我添加的
<PreferenceCategory android:title=" 繁化資訊 ">
        <Preference android:title="Sean(iamernie8199)" android:summary=" 我空虛! 我寂寞! Call me maybe!\n
主頁:http://apk.tw/space-uid-76741.html\n
論壇:http://apk.tw/">
            <intent android:action="android.intent.action.VIEW"android:data="http://apk.tw/space-uid-76741.html"/>
        </Preference>
    </PreferenceCategory>

先看一下效果圖

第一行沒有縮排的 title 是對以下整個區域的說明
就像上面紅字的繁化者資訊一樣
第二行有縮排的 title 是添加上去的選項
summary 是我對 title 所做的標註基本上長度隨意
需要換行的時候利用\ n 來表示
最後一個縮排是這個選項的超連結目標
分號裡面的網址可以隨便替換成其他網址


Step #6


修改完成後
回編譯並簽名
基本上就算是OK了


不過我通常都會在把其他的語言包清理一下

這樣可以大幅減少安裝包的體積
基本上只要資料夾裡面只有 strings 的都可以把它刪除
刪除後長這樣

 

然後再重新回編譯並簽名

細心的人應該可以發現
其實剛剛並不需要做兩次回編譯
我會這麼教是因為怕大家因為經驗問題不小心刪到不該刪除的資料夾
到時候會導致回編譯失敗
所以建議在做刪除之前先反編譯一次
等熟練了之後這個步驟就可以省去了






結語

按鈕這東西呢
雖然算不是是很厲害的功能
不過在美觀上可以說是大大加分的
需要注意的一點是
雖然說很大一部份都可以照我示範的這麼做
但總會遇到一些特例
那時候就要靠自己的判斷啦
我也不知道該怎麼教
算是唯一需要一點天份的地方
總之希望大家看過這篇之後
別再把繁化或破解證明加在奇奇怪怪的地方了
很醜又沒格調


其他實作講解:

延伸閱讀
About Sean Chaox
Me

I'm soulless, so I'm recompiling my soul
I'm lifeless, so I'm enriching my life
I'm homeless, so I build this House
I am Sean, welcome to my House

沒有留言:

張貼留言