國際化:根據系統的語言環境,選擇對應的文本顯示。 例:系統使用簡體中文,就顯示“你好”,系統使用美式英語,就顯示“hello”。 1、新建一個strings.xml文件 對項目根目錄/res目錄單擊右鍵 -> New -> Android Resource File 或 對values目錄單擊右鍵 ...
國際化:根據系統的語言環境,選擇對應的文本顯示。
例:系統使用簡體中文,就顯示“你好”,系統使用美式英語,就顯示“hello”。
1、新建一個strings.xml文件
對項目根目錄/res目錄單擊右鍵 -> New -> Android Resource File
或 對values目錄單擊右鍵 -> New -> Value resource file
在生成的xml文件中編寫中文版字元串:
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <string name="app_name">測試</string> 4 <string name="hello">你好</string> 5 </resources>
2、以同樣的方式再新建一個strings.xml文件:
在xml文件中編寫英文版字元串,要與中文版一一對應(name要對應):
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <string name="app_name">test</string> 4 <string name="hello">hello</string> 5 </resources>
AS會自動建立一個strings(和文件名相同)文件夾來保存同名的文件。
3、可以看到<string>標簽的name都有紅色下劃線,這是因為我們未設置預設值,即當用戶的語言環境既不是簡體中文,又不是美式英語時,就顯示預設文本。
滑鼠單擊紅色下劃線部分,Alt+Enter查看解決方案,依次點擊:
雙擊聚焦輸入預設值,完成後刷新一下即可:
4、在佈局的xml文件、.java文件中不要直接用字元串,而是使用@strings/xxx的方式引用我們在strings.xml文件中定義的值。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello"/>
debug,看到虛擬機顯示的是英文版文本,這是因為虛擬機的預設語言環境是美式英語。
Settings -> Languages input -> lanuages -> 將第一個語言設置為簡體中文
再次debug,虛擬機顯示的即是中文版的文本。