硬編碼String
在View
中的值不被developer.android.com推薦,因爲使得Android應用程序與不同語言兼容被扭曲了。
從
參考添加支持更多的語言,創造更多的價值目錄內RES /,其中包括一個連字符,並在目錄名末尾的ISO國家代碼。例如,values-es /是包含語言代碼爲「es」的語言環境簡單資源的目錄。 Android在運行時根據設備的區域設置加載適當的資源。
一旦您決定了將支持的語言,請創建資源子目錄和字符串資源文件。例如:
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
將每個語言環境的字符串值添加到相應的文件中。
在運行時,Android系統根據當前爲用戶設備設置的區域設置使用相應的一組字符串資源。
例如,以下是針對不同語言的一些不同的字符串資源文件。
英語(默認語言環境),/values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">My Application</string>
<string name="hello_world">Hello World!</string>
</resources>
西班牙語,/values-es/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Mi Aplicación</string>
<string name="hello_world">Hola Mundo!</string>
</resources>
參考您的OP:
保存在res/values/strings.xml中的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="press">Press Button</string>
</resources>
這種佈局XML應用將一個字符串查看:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/press"
android:textSize="45dp" <!--Warning -->
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/tvDisplay" />
此應用程序代碼檢索字符串:
String string = getString(R.string.hello);
使用SP設置size
通過developer.android.com
的建議
sp : Scale-independent Pixels - This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.
保存在RES /值/ dimens.xml
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="font_size">16sp</dimen>
</resources>
本申請代碼檢索一個尺寸
Resources res = getResources();
float fontSize = res.getDimension(R.dimen.font_size);
此佈局XML適用尺寸屬性:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Press Button" <!--Warning -->
android:textSize="@dimen/font_size"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/tvDisplay"
/>