我是Android编程的新手,我遇到了一个非常具体的问题。我希望我的应用程序可以在多种屏幕尺寸和密度上运行。
我有几种不同屏幕分辨率的真实设备(三星Galaxy S7 Edge [xxxhdpi],三星Galaxy A5(6)[xxhdpi],三星Galaxy Note 10.1平板电脑[xhdpi]。
我制作了一个背景并按比例缩小每个广义密度。我将文件“background.png”保存在Supporting Multiple Screens中建议的单独文件夹中。
在设备上测试APK后,除S7上的背景外,一切正常。它将始终加载下一个较低分辨率的位图(xxhdpi而不是xxxhdpi)。我看了无数线程如何解决这个问题但到目前为止没有任何工作。
我的位图的分辨率是:
drawable-mdpi //320x480
drawable-hdpi //480x800
drawable-xhdpi //720x1280
drawable-xxhdpi //1080X1920
drawable-xxxhdpi //1440X2560
我希望有人可以帮助我。我真的在失去理智。
答案 0 :(得分:1)
这有点复杂,但我会尽量保持简单。 Android系统根据很多因素选择合适的资源(在 "可用限定符" 下创建新资源文件时可以看到这些因素list)您可以将其分组以创建由不同配置共享的资源,或仅使用其中一个配置来指定一个特定配置。但你无法控制设备将在大多数情况下使用的女巫资源(有些你可以自己指定ex:night模式)。您的S7可能使用了错误的资源,因为显示分辨率的其中一个设置可能设置为较低的设置(例如:电池节省模式,分辨率较低,游戏模式等等,辅助功能设置)。如果你想让平板电脑使用不同的抽屉,那么你应该使用最小的屏幕宽度"限定符,因为您可以在Dip中指定不同的屏幕尺寸(例如: sw320dp 是普通手机, sw440dp 是一个大像素手机, sw720dp 是一个中型平板电脑和 sw1048dp 是一个更大的平板电脑)。阅读更多here
答案 1 :(得分:0)
将默认drawable放在该文件夹中。
drawable
答案 2 :(得分:-1)
为了处理s7设备上的图像,我们可以为图像视图提供高度和宽度。从尺寸文件中设置高度和宽度的值。对于处理s7 UI,需要添加dimens-sw411文件并在其中指定高度和宽度。