我已经阅读了很多关于这些事情的内容,这么多线程,但仍有一些我不了解的事情,作为开发人员和设计师,如何避免不同大小的问题屏幕。 所以我的问题主要是:将drawables放入mdpi,hdpi,xhdpi,xxhdpi文件夹而不是普通的大型xlarge文件夹之间有什么区别?我应该两个都做吗? 我希望drawables的行为如下:如果它需要智能手机屏幕宽度的50%,它应占平板电脑屏幕的50%。这也让我感到困惑 - 我的手机和平板电脑都是1920x1080,都属于xhdpi桶(我相信),但它们的物理屏幕尺寸却大不相同。
现在我根据mdpi,hdpi ...比率保存了drawables。因此我在手机上得到这样的结果:
当我出于好奇而创建了大型和xlarge(我不知道比率)的文件夹时,我得到了这个,这更接近我的目标(但显然太大了) ):
但是使用xhdpi(等)桶的重点是什么?我理解这完全错了吗?有人请赐教。我希望这个问题有道理。我的观点是 - 我希望文本和图片的比例能够在平板电脑上和智能手机上一样多地填充。
由于
答案 0 :(得分:1)
我们的开发人员只为mdpi,hdpi,xhdpi,xxhdpi创建绘图,因为设备的屏幕分辨率可能不同。对于普通的大型xlarge文件夹,它用于屏幕尺寸。我们使用此配置限定符(mdpi,hdpi,xhdpi,xxhdpi),因为例如对于低预算的手机,分辨率可能更低并将显示48px可绘制更大,而高端设备将显示更小。这就是我们为不同分辨率的手机创建可绘制的原因,从42(可能)到192像素不等。类似于正常,大,xlarge文件夹用于屏幕尺寸。 如果要压缩应用程序大小,可以使用向量drawable。它们只是创建了一次,并且每次都看起来一致。对于自定义图标,将其导出为.svg或.psd格式,并通过android studio将其创建为矢量绘图。
编辑:我通常会在Photoshop上创建我的徽标,并且android studio会有效地将其导出为矢量绘图。
xlarge屏幕至少为960dp x 720dp
大屏幕至少640dp x 480dp
正常屏幕至少为470dp x 320dp
小屏幕至少为426dp x 320dp
矢量drawables放在drawables文件夹中。使用矢量绘图的另一个优点是可以使其动画化。
注意:从Android 3.2(API级别13)开始,不推荐使用这些大小的小型,普通,大型xlarge文件夹,转而使用基于可用屏幕管理屏幕尺寸的新技术宽度。如果您正在为Android 3.2及更高版本开发,请使用mdpi,hdpi,xhdpi,xxhdpi文件夹。
可用于密度特定资源的配置限定符(如下所述)为ldpi(低),mdpi(中),hdpi(高),xhdpi超高),xxhdpi(超高 - 超高) )和xxxhdpi(extra-extra-extra-high) 设备的屏幕密度
一组六个广义密度:
ldpi(低)~120dpi
mdpi(中)~160dpi
hdpi(高)~240dpi
xhdpi(超高)~320dpi
xxhdpi(超高)~480dpi
xxxhdpi(extra-extra-extra-high)~640dpi
图像尺寸符合文件夹。
36x36(0.75x)用于低密度
中密度的48x48(1.0x基线)
72x72(1.5x)用于高密度
超高密度的96x96(2.0x)
额外高密度的144x144(3.0x)
192x192(4.0x)用于额外超高密度。希望这会有所帮助。你在评论中详细询问了我。