我已添加西班牙語和法語到我的應用程序,但一些措辭是西班牙語,然後英語更長。如何在訪問values-es/string.xml文件時更改文本大小更改textSize與不同的語言區域設置
回答
您需要在layout-es中指定不同的佈局文件。當Android從values-es/string.xml中拉出時,它將加載不同的layout-es/yourfile.xml。該佈局文件然後可以在視圖上指定主題,樣式或文本大小。
您可以使用dimens.xml
資源文件來達到此目的。在你的情況下,你可能會想要創建一個名爲res/values-es/dimens.xml
的文件,並且可能還需要創建一個-fr
版本。您可以在res/values/dimens.xml
(或res/values-en/dimens.xml
,如果您想更具體)指定默認值。
實施例從More Resource Types section抓起developer.android.com:
dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="textview_height">25dp</dimen>
<dimen name="textview_width">150dp</dimen>
<dimen name="ball_radius">30dp</dimen>
<dimen name="font_size">16sp</dimen>
</resources>
應用以XML
<TextView
android:layout_height="@dimen/textview_height"
android:layout_width="@dimen/textview_width"
android:textSize="@dimen/font_size"/>
或者在代碼
float fontSize = getResources().getDimension(R.dimen.font_size);
也有上所以這裏的解決方案,使用迭代/遞歸過程(使用自定義視圖)收縮一個TextView在它的邊框「配合」的文本大小,但我上面說的是一種更強大的方法,特別是如果你正在考慮在未來增加更多的語言。
上面的解釋是正確的,但他們沒有完全解釋如何做到這一點。
當您在Android Studio中打開項目時,它會自動在「Android」模式下顯示此項目。您需要點擊Android Studio左上角的「Android」標籤,然後選擇「Project」。然後你需要進入「app> src> main> res」。然後你需要右鍵點擊上的「res」文件夾,然後從彈出的菜單中選擇「新建> Android資源目錄」。一個對話上來,爲目錄名:類型值-ES並單擊OK 。
這將爲所有西班牙語語言環境值的文件夾。然後你就可以這個值-ES文件夾右鍵單擊創建dimens.xml,string.xml,color.xml ...等。在手機中選擇西班牙語區域設置時將使用的文件。
如果您已經創建了西班牙語語言環境的string.xml文件通過圖形用戶界面,那麼值-ES文件夾string.xml文件將已經在項目中,當你去那裏。並且在這種情況下,您只需要右鍵單擊上的值-es文件夾即可創建dimens.xml文件,用於西班牙語語言環境。
- 1. 更改窗口的區域和語言設置
- 2. 更改Postgres pgadmin的語言/區域設置?
- 3. 更改「區域和語言」設置操作系統編程
- 4. Windows區域設置ID(LCID)是否與USB語言ID相同?
- 5. PHP更改區域設置?
- 6. Portletfilter更改區域設置?
- 7. Android區域設置更改
- 8. 不同的區域設置
- 9. 編程修改區域設置頁面(語言)
- 10. 更改設備的語言設置(語言環境)
- 11. 如何更改窗口unicode區域設置/語言的默認字體
- 12. 區域設置路由,不帶參數的默認語言
- 13. 如何更改MPMediaPickerController的語言設置。
- 14. 如何根據區域設置更改電子郵件語言格式?
- 15. 如何更改DatePickerDialog的區域設置?
- 16. 兩種區別獲取區域設置語言的方法android
- 17. heroku語言區域設置不工作I18n :: MissingTranslationData
- 18. Heroku語言區域設置不起作用
- 19. 如何設置FSP_LANGUAGE_PREFERENCE以更改語言
- 20. 不同域名的不同語言
- 21. 更改javascript輸出區域設置
- 22. CakePHP動態更改區域設置
- 23. 如何更改RactiveJs區域設置
- 24. 更新JSTL動態語言環境,不論瀏覽器區域設置
- 25. Excel顯示#值!當區域設置更改爲非英語時
- 26. 作爲設備語言更改更改應用程序語言
- 27. 域名的InitializeCulture更改語言
- 28. NSLocalizedString()基於用戶的語言或其區域設置?
- 29. [批處理]:從Windows中的區域設置中刪除語言
- 30. 系統語言和系統區域設置的mac?