我试图加载一些基于最小宽度属性的图像.为此,我将图像放入以下文件夹:

drawable-sw320dp

drawable-sw360dp

drawable-sw480dp

drawable-sw600dp

drawable-sw720dp

但我想知道最小的尺寸应该是什么,以避免在运行时崩溃.如果具有最小宽度240的设备(如果存在)运行我的应用程序(它可能在运行时崩溃)会发生什么?我可以创建一个名为的文件夹

drawable-sw0dp

并在其中放入一些图像,以便如果最小宽度属性在0到320之间,那些图像是否被加载?

我可以像下面那样以编程方式执行此操作,但我想知道我是否可以在不需要编写任何代码的情况下执行此操作.

DisplayMetrics metrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metrics);

int widthPixels = metrics.widthPixels;

int heightPixels = metrics.heightPixels;

float scaleFactor = metrics.density;

float widthDp = widthPixels / scaleFactor;

float heightDp = heightPixels / scaleFactor;

float smallestWidth = Math.min(widthDp, heightDp);

if (smallestWidth < 320) {

//Load necessary images

}

else if (smallestWidth >= 320 && smallestWidth < 360) {

//Load necessary images

}else if (smallestWidth >= 360 && smallestWidth < 480) {

//Load necessary images

}else if (smallestWidth >= 480 && smallestWidth < 600) {

//Load necessary images

}else if (smallestWidth >= 720) {

//Load necessary images

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐