Android应用程序资源——Drawable资源概述

本文主要介绍了Android应用程序的Drawable资源,包括Drawable的种类、内部宽高、存放路径和图片资源的详细信息。Drawable是一个抽象类,包含BitmapDrawable、NinePatchDrawable等多种类型。Android提供了不同密度的drawable文件夹以适应不同分辨率的屏幕。要获取Drawable对象,可以通过Resources的getDrawable(int id)方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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对象。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值