Java 入門指南

單元 28 - string.xmlstyle.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_nameEncryptAndroid 改成編密碼小工具,其他是 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 設定為 truewindowActionBar 設定為 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 的內容。

相關教學影片

上一頁 單元 27 - 建立 Android App 專案
回 Java 入門指南首頁
下一頁 單元 29 - 首頁
回 Java 教材首頁
回程式語言教材首頁
中英文術語對照
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.xmlapp_name 設定為「你好世界」,其他增加「點我」、「再點」、「你好」、「世界」等字串。
2. 承接上一單元的 GuessAndroidDemo 專案,在 string.xmlapp_name 設定為「猜數字遊戲」,其他增加「請選擇猜測的數字數量」、「新遊戲」、「回首頁」及十個阿拉伯數字的字串。