转载请说明出处。本文来自Android菜鸟:http://blog.csdn.net/android_cai_niao/article/details/46854767  QQ:2717521606

事实上这些个drawable的使用并不难,也不须要去哪里百度或者Google找答案,直接自己试验一下就可以。

如:ic-launcher图标详细大小是多少,如有的人把一张512 x 512的图片当成ic-launcher。在高分辨率手机上没有问题。可是在一些低分辨率手机上发现桌面上找不到自己应用的图标。或者显示名称但看不到图标。想找ic-launcher标准大小吗?创建一个Android项目不就有了吗?看系统生成的那些ic-launcher在各种drawable上的大小就可以。这就是最标准的了,何需百度,出图标的时候就让美工按着那些图标大小出就不会有问题了。

又如,通知栏图标要多大呢?假设大小不合适。则显示通知的时候看到的图标可能显示不全或者其他问题,要想知道通知栏图标多大合适,找Android系统设计的那些呀,路径为:sdk\platforms\android-15\data\res。在这里搜索notification。然后看看同样名字的通知栏图标在不同的drawable中的大小是多少,这样你就知道你应该让美工给你切多大的通知栏图标了^_^

接下来了解本质的东西,以下的内容都是我拿真实手机測试出来的结果。所以应该比百度出来的那些更有真实性。

一般手机的分辨率相应的各參数为:

  • drawable-ldpi  目录:             低密度屏幕:dpi = 120dp,scale = ?

    ?, 超级元老。不用管它。不会再有这样的dpi的手机的啦。

  • drawable-mdpi 目录:      中等密度屏 幕:dpi = 160dp。scale = 1.0,分辨率:320 x 480
  • drawable-hdpi  目录:           高密度屏幕:dpi = 240dp。scale = 1.5。分辨率:480 x 854
  • drawable-xhdpi 目录:      超高密度屏幕:dpi = 320dp。scale = 2.0,分辨率:720 x 1280
  • drawable-xxhdpi目录:  超超高密度屏幕:dpi = 480dp,scale= 3.0。分辨率:1080 x 1920

scale 为缩放系数,标准的dpi是160dpi,所以160dpi的scale为1.0。其他dpi的缩放系数都是与160相比算出来的,如320dpi。它除以160dpi结果为2。所以320dpi的scale为2.0

好,有了这个scale之后呢创建图片就简单了,怎么个简单法?先找出160dpi相应的大小就OK了。

如,美工设计了一张非常美的图片,并且是以720 x 1080的分辨率为基础进行设计,假如宽高都为300像素,则这张图放在720 x1280的手机上显示肯定是完美的,假设放到其他分辨就有可能会被压缩或者放大,那效果就会大打折扣,所以我们大家都知道要切多套图片放到不同的drawable文件夹中。那问题来了。美工假设她不懂,她问你,其他分辨率怎么切图?

怎么切呢?我们就先算出160dpi相应的大小即可了,它切的图是以720 x 1080的手机为基础设计的,这个分辨率相应的是xhdpi,scale是2.0。所以160dpi相应的大小就是:300 / 2.0 = 150像素,那这种话4种drawable的图片怎么切就有答案了:

  • 160dpi 的图片大小为150像素,那其他的就按scale去算就好了。例如以下:
  • drawable-hdpi:    150* 1.5 = 225
  • drawable-xhdpi:   150 *2.0 = 300
  • drawable-xxhdpi: 150 *3.0 = 450

就眼下情况来说。切图切4套就够了。

假如。有一张图片,你并不知道它是在哪个分辨率的基础上进行设计的,那你就不知道这张图片应该放在哪个drawable目录中,这样的情况常常会遇到。比方我们学习Android时的那些图片,根本不知道是谁设计的,也不知道是在哪个分辨率的基础上设计的,那你怎么知道放在哪个drawable目录中比較合适呢?一般人会选择放在drawable-hdpi  目录中。也许吧,多人这么做肯定是这样做一般没什么问题,可是。同一张图片,注:仅仅有一张图片哦,把它放到不同的drawable目录中,然后在同一台手机上的显示效果会不一样哦,为什么会这样呢?嗯。夜已深,我先睡觉,有时间再来写完它。

。。

Android中各种drawable的使用的更多相关文章

  1. Android中各种Drawable总结

    在Android中,Drawable使用广泛,但是种类也多,基于<Android开发艺术探索>中对Drawable的讲解,总结了如下表格.

  2. Android中Bitmap, Drawable, Byte,ID之间的转化

    Android中Bitmap, Drawable, Byte,ID之间的转化 1.  Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArray ...

  3. Android中的Drawable和动画

    Android中Drawable是一种可以在Canvas上进行绘制抽象的概念,种类很多,常见的颜色和图片都可以是一个Drawable.Drawable有很多种,它们表示一种图像的概念,但是它们又不全是 ...

  4. Android中的Drawable资源

    在Android应用中,常常会用到Drawable资源,比如图片资源等,在Android开发中我们是用Drawable类来Drawable类型资源的. Drawable资源一般存储在应用程序目录的\r ...

  5. Android中 Bitmap Drawable Paint的获取、转换以及使用

    比如Drawable中有一系列连续的图片,img_0.png, img_1.png, img_2.png ... 如果要动态获取这些图片,通过"R.drawable.img_x"的 ...

  6. Android中Bitmap, Drawable, Byte之间的转化

    1.  Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArrayOutputStream(); bitmap.compress(Bitmap. ...

  7. 【基础篇】Android中获取Drawable的方法

    public static Drawable getDrawable(Context context,String filename) { BitmapDrawable drawable=null; ...

  8. Android中后台的劳动者“服务”

    前言 作为四大组件之一的Service,想必不少开发者都是了解的,那具体熟悉吗?是不是对Service中的每个知识点是否了解,它与Activity的关系又是什么样的,我们所理解的后台服务跟Servic ...

  9. Android中的IPC机制

    Android IPC简介 IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程.那么什么是进程,什么是线程,进程 ...

随机推荐

  1. POJ 2185 正解 KMP

    题意: 思路: 把每一行压成一个数 求一下 KMP 把每一列压成一个数 求一下KMP 答案就是两个周期之积 网上的好多题解都是错的---------.. //By SiriusRen #include ...

  2. HDU 1716 排列2

    排列2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. linux6.0系统如何安装portmap

    因为在6.0的系统里,portmap已经改名了.在Redhat或CentOS5中可以使用 service portmap start启动服务,然后在启动nfs服务,实现挂载. 6里面可是试试 serv ...

  4. 虚拟机上的Ubuntu开机显示“无法应用原保存的显示器配置”

    如图: 解决方法: 删除monitors.xml 文件 rm ~/.config/monitors.xml

  5. jquery表格简单插件

    1.一直对jquery插件感觉非常神奇.今天动手写了一个超级简单的案例. 2.效果 3.体会 a.jquery插件编写能力. 须要具备一定js能力的编写.还有写css样式的运用:希望以后这方面会有提高 ...

  6. Android学习笔记进阶十二之裁截图片

    package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; ...

  7. Mahout应用

    不多说,直接上干货! Mahout作为Apache基金会的顶级项目之一,Mahout的应用也极其广泛,一般分为商业应用和学术应用. 在商业应用中,Adobe AMP公司使用Mahout的聚类算法把用户 ...

  8. 1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 7: Use Kafka Connect to import/export ...

  9. 关于bcg库记忆界面的问题及其解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事向我请教一个问题,说他使用BCG创建了一个停靠栏,之后把代码注释了,但是程序启动时总出现一个Debug Ass ...

  10. BZOJ3529: [Sdoi2014]数表(莫比乌斯反演,离线)

    Description 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和.给 ...