整数,xml 屏幕大小

integer,xml screen size wise

我知道这种问题已经被问过很多次了,但是 none 个帮助了我。

我想为我的 4、5 和 5.5 英寸设备设置不同的整数值。为此,我创建了不同的值文件夹,如 values-smallvalues-normalvalues-large

但每次我只从 values-normal 获得价值。 None 这份工作对我来说。

我也厌倦了使用以下公式计算最小宽度。获得最小宽度并相应地创建文件夹。

DisplayMetrics dm = this.getApplicationContext().getResources().getDisplayMetrics();
float screenWidth = dm.widthPixels / dm.density;
float screenHeight = dm.heightPixels / dm.density;

我仍然得到相同的结果。请帮我解决这个问题。

我的测试设备是 HTC ONE X(4.7 英寸)、Moto G3(5 英寸)和魅族 MX5(5.5 英寸)

尝试创建如下文件夹。

res/values/dimens.xml(default)
res/values-ldpi/dimens.xml   (240x320 and nearer resolution)
res/values-mdpi/dimens.xml   (320x480 and nearer resolution)
res/values-hdpi/dimens.xml   (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml  (720x1280 - Samsung S3, Micromax Canvas HD, etc) 
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)

它对我来说很好用

我不知道为什么,但我的 HTC (4.7) 和 Moto3G (5).所以我转而听编码。

现在我已经在 this 的帮助下解决了这个问题。我在 运行 时间计算最小宽度,并使用 if..else 获得我想要的输出。我不知道这是不是最好的解决方案,但现在对我有用。

正在寻找更好的解决方案或建议。