我创建了自己的应用,以支持从hdpi
到xxxdpi
的屏幕,并且一切运行正常。图像的显示与预期的一样。但是,现在我遇到了小米Max 3的问题。它具有6,9英寸的显示屏,分辨率仅为1080x2160
,可提供〜350 dpi。属于xhdpi
类别(通常为{{ 1}}屏幕上显示的图片,现在我的图片比原来的要小。有什么方法可以强制使用带有代码的720p
文件夹?
答案 0 :(得分:0)
只需创建另一个文件,例如:
drawable-xxxdpi / example.png
drawable-anydpi-v21 / example.xml
并从anydpi xml代码链接您的图像文件,以支持每种屏幕尺寸。 查看官方网站上的更多信息或访问What Is The Difference Between -anydpi And -nodpi?
答案 1 :(得分:0)
好的,感谢阿卜杜拉夫人,我找到了解决方案。
您无法选择要使用的资源文件夹,但是可以通过getDrawableForDensity()
方法使用文件夹中的特定资源。这就是我所做的:
int width = Resources.getSystem().getDisplayMetrics().widthPixels;
int dpi = getResources().getDisplayMetrics().densityDpi;
int imageID = R.drawable.YOURIMAGE;
if (width > VALUE && dpi < VALUE) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
Drawable drawable = getResources().getDrawableForDensity(imageId, DisplayMetrics.DENSITY_XXHIGH);
//you will probably need to adjust width & height of your ImageView, but since the image
//will keep its aspect ratio, you only have to change width | heigth
YOURIMAGEVIEW.setAdjustViewBounds(true);
YOURIMAGEVIEW.setMaxWidth(VALUE);
YOURIMAGEVIEW.setImageDrawable(drawable);
}
}