我想在我的应用中使用背景图片。但我对不同的屏幕尺寸感到困惑。我发现了这个问题:
Android: Background Image Size (in Pixel) which Support All Devices
但回答他说xxxhdpi: 1280x1920 px
但是Lg G3是xxxHdpi
并且屏幕分辨率为:1440 x 2560
我需要一个路线图。所有屏幕应该是我的图像尺寸? (mdpi,hdpi,xhdpi等)
答案 0 :(得分:3)
Android设备的屏幕尺寸(以像素为单位)和屏幕宽度(以英寸为单位)可能因设备而异。 要解决此问题,Google允许您为每个尺寸/密度类别使用不同的资源 有关详细信息,请参阅here。
一般来说,您必须将每个dpi支持的最大尺寸图像放在正确的文件夹中,然后让android进行调整大小。
您还可以查看imageView's ScaleType属性,选择如何缩放图片以适合视图。
修改的
使用不同文件夹而不仅仅是一个大图像的原因是图像越大,消耗的内存越多。 例如,1920x1280的图像在1920屏幕上很不错,但在320像素的屏幕上,额外的分辨率被浪费了,而且你浪费了大量的内存。
答案 1 :(得分:2)
更简单的方法是在可绘制目录中包含一个单独的图像,然后在活动的OnCreate函数中创建一个适合屏幕的位图,并将其放入宽度和高度设置为&#34的imageview中; WRAP_CONTENT"
这适用于任何设备。
答案 2 :(得分:0)
阅读this link。特别是,我认为您正在寻找的是:
要为不同密度创建替代位图可绘制,您应遵循六个广义密度之间的3:4:6:8:12:16缩放比例。例如,如果您有一个位图可绘制的中等密度屏幕为48x48像素,则所有不同的大小应为:
36x36(0.75x)用于低密度
中等密度的48x48(1.0x基线)
72x72(1.5x)用于高密度
96x96(2.0x)用于超高密度
180x180(3.0x),超高密度
192x192(4.0x),用于额外超高密度
还有:
xlarge屏幕至少为960dp x 720dp
大屏幕至少为640dp×480dp
正常屏幕至少为470dp×320dp
小屏幕至少为426dp x 320dp