如何根据android中的设备屏幕大小制作TextView的文本大小

时间:2018-01-05 04:48:05

标签: android

我有一个应用程序可以在不同的屏幕尺寸上运行,从3.7英寸到6.0英寸(现在没有平板电脑的计划)。

现在我有TextView, 17dp用于标题 14dp描述。但是当我在小型设备(3.7-4.7英寸屏幕尺寸设备)中运行应用程序时,textview的文本很大。

但是相同的文本视图在较高的5.5或5.7中可能很小。

所以如何让所有设备的TextView看起来都相同。

4 个答案:

答案 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文件。