android 图片位置规范
阿神
阿神 2017-04-17 11:07:08
[Android讨论组]

在android开发里,我们常常会给应用添加背景图片或给按钮添加背景图片等,但应该放在哪个文件夹里,又怎么设定根据不同分辨率放图片,调用图片?

阿神
阿神

闭关修行中......

全部回复(2)
天蓬老师

根据分辨率,也就是所谓的屏幕大小(Screen Size)也可以的,
在res/下面新建一个drawable-1024x768/的文件夹就可以满足了。

但是不推荐这么做,不要根据分辨率去选择图片。
首先建议楼主读一下Android的屏幕分辨率的相关文章
官方文档里屏幕相关screens_support

做法有很多
1.SDK提倡的做法就是在res/下面新建不同的图片资源文件夹
res/drawable-ldpi/
res/drawable-mdpi/
res/drawable-hdpi/
res/drawable-xdpi/
来分别存放我们需要的图片资源,分别对应
0.5x
1x
1.5x
2x
的切图。也就是说,你的设计稿是640x960(一般认为是2x)的,那么
ldpi/下就是160x240,
mdpi/下就是320x480,
hdpi/下就是480x720,
xdpi/下就是640x960。
但是在写布局的时候,不要写px,除了一些(比如边框什么的可以用),其他都用dip来写你的View的大小。

这么做的好处是比较简单完全遵照SDK的规范来实现。适合一般的App。

2.所有的图片资源存放在assert下面,用流读取之,并且在读取的时候根据不同的屏幕的像素密度去设置BitmapFactory.Option.inSampleSize,来自动的调整获取到的bitmap的大小。
这么做的好处是可以用一套图片。适合游戏类的开发,当然也适合一般App。

阿神

res资源文件夹中有分类似如下这些文件夹:

  • drawable-mdpi
  • drawable-ldpi
  • drawable-hdpi

后面的mdpi的dpi是指每英寸的像素点数,就是屏幕的分辨率;m、l、h则是m(中)、l(低)、h(高)。

望文生义,你应该把针对不同分辨率的图片分别放在对应的位置中去,名字要一样,这样他们的资源ID就是相同的。

至于按设备调用对应分辨率图片的问题,android会自己帮你解决的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号