我有一个应用程序可以在不同的屏幕尺寸上运行,从3.7英寸到6.0英寸(现在没有平板电脑的计划)。
现在我有TextView, 17dp用于标题和 14dp描述。但是当我在小型设备(3.7-4.7英寸屏幕尺寸设备)中运行应用程序时,textview的文本很大。
但是相同的文本视图在较高的5.5或5.7中可能很小。
所以如何让所有设备的TextView看起来都相同。
答案 0 :(得分:4)
我有同样的问题,我使用this库,它为我做了一件事。
在你的gradle中添加这个库后,你只需要在你的xml中用ssp替换sp,你就可以了。
答案 1 :(得分:1)
为您的项目创建多个dimens.xml,它将根据显示大小
给出大小您必须创建多个值文件夹,并且必须在其中创建dimens.xml。 这些文件夹的参考是:
values-sw720dp 10.1” tablet 1280x800 mdpi
values-sw600dp 7.0” tablet 1024x600 mdpi
values-sw480dp 5.4” 480x854 mdpi
values-sw480dp 5.1” 480x800 mdpi
values-xxhdpi 5.5" 1080x1920 xxhdpi
values-xxxhdpi 5.5" 1440x2560 xxxhdpi
values-xhdpi 4.7” 1280x720 xhdpi
values-xhdpi 4.65” 720x1280 xhdpi
values-hdpi 4.0” 480x800 hdpi
values-hdpi 3.7” 480x854 hdpi
values-mdpi 3.2” 320x480 mdpi
values-ldpi 3.4” 240x432 ldpi
values-ldpi 3.3” 240x400 ldpi
values-ldpi 2.7” 240x320 ldpi
答案 2 :(得分:1)
在android中你正在处理dp / sp值。不要考虑物理尺寸。 有这个漂亮的插件,可以让您将sp / dp值转换为不同的存储桶。你可以加 https://plugins.jetbrains.com/plugin/9349-dimenify
答案 3 :(得分:1)
当屏幕大小介于3.7和6.0之间时,您应该只创建一个额外的尺寸文件,如sw480,并将dp-s用于TextView尺寸,将sp用于文本尺寸。在默认尺寸文件中,您应该为屏幕尺寸最小的设备编写尺寸,例如适用于3.7',以及sw480文件中相对较大的尺寸,例如5.5英寸屏幕。根据特定情况,可以创建其他尺寸文件,如sw360。如果屏幕宽度小于360dp,则它将使用来自默认尺寸文件的值,如果360dp< =屏幕尺寸<然后将使用480dp然后使用sw360。相同的简单逻辑适用于每个创建的swnsional文件。