2016-07-28 29 views
-1

我已经看到我的应用程序在较小的设备上有一些问题,因为5.1英寸设备上的相同DPI也可以在3.1英寸设备上。这会导致问题,因为它会将一些布局对象强制关闭。根据谷歌:安卓按屏幕大小排列,而不是dpi

,另外,

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc). 
480dp: a tweener tablet like the Streak (480x800 mdpi). 
600dp: a 7” tablet (600x1024 mdpi). 
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc). 

但是,这个古老的设置有一些问题;

我的S6 Edge的DPI为640,因此它在本系统中被归类为7英寸平板电脑。这是关闭的,因为它只有5.1英寸。

而且我有一个320英寸的8英寸平板电脑,这相当于'典型的手机'。

突然之间,手机和平板电脑已经交换了位置;因此,它使* dpi系统无用,因为内容不在屏幕上。

因此,我需要按照屏幕大小去做,因为这是真正重要的。我似乎无法找到任何东西,我查看了文档,但找不到任何东西。我不想为每个0.1英寸创建一个布局,但是每1.0(英寸)英寸。特别是对于较小的设备,这是一个问题,因为内容不在屏幕上。尺寸本身很好,但实际上屏幕上的内容是一个主要问题。

我在预发布报告中看到,较小的设备开始将菜单按钮从屏幕上推开。对于测试的Nexus 5上的一个实例,广告被推出。

我怎么能去呢?

+0

为什么downvote? – Zoe

回答

1

有资源预选赛屏幕尺寸:

layout-small 
layout-medium 
layout-large 
layout-xlarge 

drawable-small... 

不过,我相信你如何DPI系统变得无用的理解是有点失真。该系统已经到位,大大有助于按屏幕功能显示适当的资产。例如。如果您尝试在320 dpi平板电脑上放置xxhdpi图像,系统将基本上必须放下像素才能正确显示它。如果您使用屏幕尺寸设计布局,则会遇到类似问题,因为屏幕高度和宽度(以dpi为单位)可能不取决于尺寸,而取决于屏幕密度。

个人而言,为了确保我的布局看起来合适,我在像Nexus S这样的小屏幕手机上进行测试,并在Nexus 6P等新手机上进行测试,同时保留单个布局文件。

+0

所以我只是创建新的文件夹名为?它是否按照我认为的方式工作,如果它不是为(例如)layout-xlarge创建的自定义布局,则它与布局/ ...一起使用? – Zoe

+0

是的,差不多。 – Shaishav

+0

但最好使用的实际上是* dpi系统? – Zoe