Java 入門指南
單元 28 - string.xml 與 style.xml
開啟 string.xml ,可以發現裡面內容只有三行, <resources> 標籤裡面包著一個 <string> 標籤
這裡替換成以下內容
完整標記碼可以參考範例程式篇的 strings.xml 。
所有 <string> 標籤整理如下
<string name="app_name">編密碼小工具</string>
<string name="button_start">開始編碼</string>
<string name="empty_string"> </string>
<string name="result_string">結果是</string>
<string name="button_encode">編碼</string>
<string name="button_copy">拷貝</string>
<string name="button_home">回首頁</string>
注意到 <string> 標籤中有個 name 屬性
name="app_name"
這表示在 Android Studio 專案 (project) 中的的其他 XML 檔案,如果用 @string/app_name ,就會替換成 name 屬性等於 "app_name" 的 <string> 標籤中的文字。
把 App 內的文字統一放在 string.xml 的優點是只需要在一個地方設定,包括後續的修改都在同一個地方,這樣後續修改就不用把每個 XML 檔案都找出來修改。
Java 程式的 Activity 類別也可以取用 <string> 標籤,其他的優點還有做多國語言版本也方便。
所以這裡是把原本 app_name 為 EncryptAndroid 改成編密碼小工具,其他是 App 內需要用到的新增文字標籤,然後注意裡頭有個 empty_string
<string name="empty_string"> </string>
這裡是放一個空格,表示空白內容。
底下繼續看到 styles.xml ,這是有關樣式的 XML 檔案
我們加入以下紅色框框圍起來的內容
完整標記碼可以參考範例程式篇的 styles.xml 。
新增內容整理如下
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
</style>
以上是新增一個名為 AppTheme.NoActionBar 的樣式,在這個樣式中, windowNoTitle 設定為 true , windowActionBar 設定為 false ,然後 windowFullscreen 設定為 true ,從屬性設定值就知道該作用,也就是將 App 設定為全螢幕,不會有上方的標題列,也不會有上方預設顯示時間的功能列。
底下切換到 AnroidMainifest.xml ,可以看到編輯區的 android:label 為編密碼小工具,這就是設定成 @string/app_name ,在 Android Studio 中如果沒有用滑鼠游標點擊該內容,就會自動顯示 <string> 標籤中的內容
這裡要修改的是 android:theme 的部分,把原本的 @style/AppTheme 改成 @style/AppTheme.NoActionBar ,如下
最後按執行鍵開啟模擬器, Hello World! 就會以全螢幕顯示囉!
下一個單元重新設計這個 App 的首頁,也就是調整 activity_main.xml 的內容。
相關教學影片
中英文術語對照 | |
---|---|
project | 專案 |
參考資料 | |
---|---|
1. Android Developers | String resources | |
2. Android Developers | Style resource | |
3. Android Developers | App Manifest Overview |
重點整理 |
---|
1. string.xml 用來整理需要顯示在 App 中的文字,只需要在一個地方建立及修改。 |
2. styles.xml 用來設定 App 頁面的樣式。。 |
問題與討論 |
---|
1. 利用 string.xml 整理 App 中的文字有什麼優點? |
2. styles.xml 的作用是什麼? |
練習 |
---|
1. 承接上一單元的 HelloAndroidDemo 專案,在 string.xml 將 app_name 設定為「你好世界」,其他增加「點我」、「再點」、「你好」、「世界」等字串。 |
2. 承接上一單元的 GuessAndroidDemo 專案,在 string.xml 將 app_name 設定為「猜數字遊戲」,其他增加「請選擇猜測的數字數量」、「新遊戲」、「回首頁」及十個阿拉伯數字的字串。 |