[英]change textSize with different language locale
我已经在我的应用程序中添加了西班牙语和法语,但是一些措辞比西班牙语更长,然后是英语。 如何在访问values-es / string.xml文件时更改textsize
您可以使用dimens.xml
资源文件来实现此目的。 在您的情况下,您可能想要创建一个名为res/values-es/dimens.xml
,也可能还要创建一个-fr
版本的文件。 您可以在res/values/dimens.xml
(或res/values-en/dimens.xml
dimens.xml中)指定默认值,如果您想更具体的话。
从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);
SO上也有解决方案,使用迭代/递归过程将TextView的文本大小缩小到其边界框中“适合”(使用自定义视图),但我上面说的是一种更强大的方法,尤其是如果您考虑将来添加更多语言。
以上解释是正确的,但它们并没有完全解释如何做到这一点。
当您在Android Studio中打开项目时,它会自动以“ Android ”模式显示该项目。 您需要点击Android Studio左上角的“Android”标签,然后选择“ 项目 ”。 然后你需要进入“ app> src> main> res ”。 然后,您需要右键单击 “ res ”文件夹,然后从出现的菜单中选择“ 新建> Android资源目录 ”。 将出现一个对话框,对于目录名称:键入values-es并单击“ 确定” 。
这将为所有西班牙语语言环境值创建一个文件夹。 然后,您可以右键单击此values-es文件夹以创建dimens.xml , string.xml , color.xml等。 在手机中选择西班牙语区域设置时将使用的文件。
如果您已经通过图形用户界面为西班牙语语言环境创建了一个string.xml文件,则当您去那里时,带有string.xml文件的values-es文件夹已经在项目中。 在这种情况下,您只需右键单击 values-es文件夹即可为其创建西班牙语区域设置的dimens.xml文件。
您需要在layout-es中指定不同的布局文件。 这样,当Android从values-es / string.xml中提取时,它将加载不同的layout-es / yourfile.xml。 然后,该布局文件可以在视图上指定主题,样式或文本大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.