我的设备参数如下,请问如何选择图片目录

我的设备参数如下,请问如何选择图片目录

1、通过getResources().getDisplayMetrics().xdpi  获取的值为 166.443

     通过getResources().getDisplayMetrics().ydpi  获取的值为 110.836

     两者先平方相加再求根大约是198dpi


2、通过getResources().getDisplayMetrics().density  获取的值为 1 

     通过getResources().getDisplayMetrics().densityDpi  获取的值为 160 (为什么不是我之前算出来的198?

     通过getResources().getDisplayMetrics().densityDpi  获取的值为 1


3、通过getResources().getDisplayMetrics().heightPixels  获取的值为 608

     通过getResources().getDisplayMetrics().widthPixels  获取的值为 1920


4、我用尺子测量屏幕对角线长26cm即10.236英寸,用1920*608作为分辨率计算得出屏幕密度还是196dpi,为什么直接获取的却是160dpi

------------------------------------------------------------------------------------

http://img1.sycdn.imooc.com//climg/602dfde309f79f9b09600436.jpg

这张图是左开右闭吗?如果是160dpi是选mdpi还是hdpi?


现在我的项目里面还有个drawable目录,这是哪种dpi?这里面的图片怎么办呢?要优化掉吗

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!首先不需要优化掉drawable,例如你的用户,他手机的分辨率,没有对应的图片的话,系统会去drawable文件夹中去找图片,所以drawable是用来保底让你程序不会崩溃的。另外像素密度也是有个大概范围,没有那么的精准,根据你所计算出的数据,选择hdpi就可以了。祝:学习愉快!

  • she_says 提问者 #1

    1、项目代码里面所有图片都在drawable,没有别的屏幕密度的drawable目录了,现在我发现应该是hdpi,那我要把这部分图片从drawble删除,重新从UI给的图库放在hdpi吧?
    2、如果以后刚好是160dpi的话就选mdpi吧?

    2021-02-18 18:40:40
  • 好帮手慕雪 回复 提问者 she_says #2

    不是这样的。实际项目中,公司会先几款机型做为目标群体。例如选择了hdpi,xhdpi和xxhdpi这样三种,那就要放三套对应的UI图片,再加上drawable一套对应的UI图片,一共放四套。实际运行时,系统会根据不同的分辨率,自动选择对应图片的。而这些图片从哪来,这是由公司里的美工负责提供的。

    2021-02-18 19:46:23
  • she_says 提问者 回复 好帮手慕雪 #3

    手机项目是这样的,我现在做的是车机项目,车机项目是不用适配其他产品的,我的代码是继承上一款产品,只有一个drawable目录(我也不知道为什么只有一个drawable目录),那我现在的车机是196dpi,那我要保持和上个项目一种风格,把UI设计图里的hdpi的图片拿来放在drawable目录(drawable目录会不会对这个hdpi进行缩放呢),还是新建一个hdpi目录再放呢?

    2021-02-19 09:48:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师