更改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文件,用于西班牙语语言环境。