我已添加西班牙语和法语到我的应用程序,但一些措辞是西班牙语,然后英语更长。如何在访问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?