Drawable资源概述

1,使用(drawable)资源

Drawable有很多种,它们都表示一种图像的概念,但是它们又不全是图片。

在Android的设计中,Drawable是一个抽象类,它是所有Drawable对象的基类。

Drawable的内部宽/高:

getIntrinsicWidth和getIntrinsicheight可以获取到它们。

并不是所有的Drawable都有内部宽/高,例如一张图片所形成的Drawable,它的内部宽/高就是图片的宽/高,但是一个颜色所形成的Drawable是没有内部宽/高的概念的。Drawable的内部宽/高不等同于它的大小,一般来说Drawable是没有大小概念的,当用作View的背景时,Drawable会被拉伸至View的同等大小。

存放路径

/res/drawable/ 该目录下存放各种位图文件(如*.png、*.9.png、*.jpg、*.gif)等,

除此之外可以编译成各种的Drawable独享的XML文件:

BitmapDrawable

NinePatchDrawable

ShapeDrawable

LayerDrawable

StateListDrawable

LevelListDrawable

TransitionDrawable

InsetDrawable

ScaleDrawable

ClipDrawable

自定义Drawable

2,图片资源认识


图片资源介绍:

图片是最简单的Drawable资源,只要把*.png、*.jpg、*.gif等格式的图片放入/res/drawable-xxx目录下,

Android SDK就会在编译应用自动加载这些图片,并在R资源清单类中生成该资源的索引。

Android提供了几种不同的drawable文件夹:

drawable-xxhdpi:里面存放超超高分辨率的图片

drawable-xhdpi:里面存放超高分辨率的图片

drawable-hdpi:里面存放高分辨率的图片,如WVGA(480X800),FWVGA(480X854)

drawable-mdpi:里面存放中等分辨率的图片,如HVGA(320X480)

drawable-ldpi:里面存放低分辨率图片,如QVGA(240X320)

像素密度范围

mdpi 120dpi~160dpi

hdpi 160dpi~240dpi

xhdpi 240dpi~320dpi

xxhdpi 320dpi~480dpi

xxxhdpi 480dpi~640dpi

具体情况可以查看:屏幕适配


注意:

Android 不允许图片资源的文件名中出现大写字母,切不能以数字开头,否则Android SDK无法为该图片在R类中生成资源索引。一旦生成资源索引,在java类中用这个来方法资源:

R.drawable.<file_name>

为了在程序中获得实际的Drawable对象:

Resources提供了Drawable getDrawable(int id)方法,该方法即可根据Drawable资源在R清单类中的ID来获取 实际的Drawable对象。


更多相关文章

  1. 浅谈android的selector背景选择器
  2. 演化理解 Android(安卓)异步加载图片
  3. android私有文件资源文件的读取
  4. android drawable文件夹说明
  5. Android中的Selector
  6. Android(安卓)imageView图片按比例缩放
  7. 如何在Android当中显示网络图片
  8. 演化理解 Android(安卓)异步加载图片
  9. [置顶] Android(安卓)使用开源库加载网络图片

随机推荐

  1. android的action
  2. Android中软键盘弹出时底部布局上移问题
  3. Android GLES多线程处理
  4. 基于android和arduino 的小车控制
  5. OnClick与android:focusableInTouchMode=
  6. 应届毕业生Android面试经验小谈
  7. 控制UI界面的方法
  8. 个人对http请求的理解
  9. Android视频播放框架Vitamio
  10. Android SeekBar的使用,进度条的另一种实