我正在编写一个Android应用程序并阅读了我可以在碎片和处理多个屏幕上找到的所有内容,特别是来自官方Android文档。
我理解不同的屏幕密度利用各种文件夹(mdpi,hdpi等)来处理不同大小的图像,不同的屏幕尺寸可以通过在res / layout-sw600dp layout-sw720dp等中定义它们来利用不同的布局。感。
然而,在开发我的应用程序时,我的主要测试设备是具有240dpi密度的HTC Desire X手机400x800,并且看起来都很好。然后我在Prestigio Multipad 8.0平板电脑上进行了测试,这是我感到困惑的地方。平板电脑的屏幕尺寸为786x1232但屏幕密度仅为160dpi。由于平板电脑上的屏幕密度较小,Android因此使用平板电脑的mdpi文件夹中的图像,以及手机的hdpi文件夹中稍大的图像!因此,这会导致平板电脑上的图像太小。 我不需要编辑平板电脑的布局,因此sw720dpi文件夹不是一个帮助。 我在这里缺少什么或不理解?如何让我的图像扩大到更大,更低密度的平板电脑屏幕?
好的,我最终想到了这一点。我的错误是我没有意识到drawable与layout的工作方式完全相同,因为我可以有一个drawable-sw720dp文件夹,Android在从至少720像素宽度的屏幕的情况下获取图像。为了完整性,在我描述的场景中,我可以使用drawable-sw720dp-mdpi文件夹来存储我的图像。我有一个额外的问题,然后我在不同的可绘制文件夹中有相同图像的2个副本,但我发现你可以使用别名像布局一样引用图像。有关如何执行此操作的详细信息,请参阅here。