我需要根据屏幕尺寸设置应用程序的所有文本内容。我的意思是按钮、文本视图等...例如,如果我在 Pixel C 平板电脑中执行应用程序,则按钮文本大小和文本视图文本大小必须非常大,而在 320x240 设备中非常小。
首先我尝试过autoSizeTextType
,但最后我放弃了这种方法,因为它只能应用于 TextView 而不能应用于 Buttons 等......
之后,我尝试了这种方法:https://developer.android.com/training/multiscreen/screendensities在 res 文件夹中创建 4 个文件夹:
values-hdpi
values-mdpi
values-xhdpi
values-xxhdpi
在其中有一个dimens.xml
带有文本大小值的文件,例如,这是文件夹内的values-xhdpi
文件:
<resources>
<dimen name="big_text">35sp</dimen>
<dimen name="medium_text">25sp</dimen>
<dimen name="small_text">20sp</dimen>
</resources>
对于其他文件夹,我放置了不同的值来测试它。
它有效......但是......不是我正在寻找的行为。为什么?因为我在两个不同的 xhdpi 模拟器中执行了应用程序,Pixel C 和 Nexus 4。Pixel C 的分辨率更高,但屏幕超级大,所以两个设备使用相同的dimens.xml
文件,但按钮和文本在Nexus 4 中的 Pixel C 和 super big,如图所示:
我应该怎么做才能获得在所有设备中占据屏幕相同部分的短语的文本大小值?