我已经创建了一个android应用程序,它在移动手机上运行良好。现在我希望它能兼容7英寸和10英寸的平板电脑。为此,我创建了可绘制文件夹和布局文件夹(sw600dp为7,sw720dp为10)。
市场上有许多7英寸的平板电脑。具有不同的像素以及屏幕密度。例如-7英寸平板电脑从宽度x高度(600×1024)到(1200×1920)不等,PPI从170到323不等。
相似的10英寸片从宽度x高度(768×1280)到(1600×2560)不等,PPI从132到300不等。
我已经在sw600dp和sw720dp中创建了我的图像资源,考虑到7英寸和10英寸平板电脑的基本大小,即600x1024和768x1280。在设计布局时,我的应用程序在像素和PPI密度方面看起来都很好。
但是剩下的设备呢?我需要一种方法来确保我的应用程序在市场上所有的7英寸和10英寸的平板电脑上看起来都很棒。我怎样才能做到这一点?
谷歌建议开发者应该关注设备的密度,而不是它的大小,但这里的问题是,如果我尝试DisplayMetrics来找到当前设备的密度,并显示相应的可绘制性和布局--可能因为PPI范围为7英寸(170-323)和10英寸(132-300)重叠,所以我可能会显示错误的可绘制布局。
如何确保显示当前设备的正确可绘制和布局?我是否需要为7英寸和10英寸平板电脑创建多个可绘制和布局文件夹,还是两个可绘制和2个布局(sw600dp和sw720dp)就足够了?请给我建议,因为我面对这个问题已经很多天了。蒂娅。
发布于 2016-02-24 21:48:47
首先,您不需要检查所有设备的DisplayMetrics
。您不必担心“实际屏幕密度”,而是寻找“广义密度”。
从医生那里,
六种广义密度的集合:
您需要在适当的密度特定文件夹中指定布局和绘图,以便在不同的设备上正确地使用它们。
例如,您有一些图像要显示,然后创建具有不同尺寸的图像的副本(小尺寸图像用于小型显示,大尺寸图像用于大型显示)。一旦你准备好这些图像,然后把它们放到密度文件夹中(对于绘图,它将是drawable-hdpi/
,drawable-mdpi/
等)。就是这样。现在,当你的应用程序运行时,系统将检测屏幕密度,并从适当的文件夹中获取图像。
有关此问题的详细信息,请阅读支持多屏幕。
https://stackoverflow.com/questions/35618554
复制