1 Drawable

Android Studio中的Drawable叫做可绘制资源,指的是可以在屏幕上绘制的图形。Drawable资源分为BitmapDrawable(可绘制的位图文件)、NinePatchDrawable(可绘制的九宫格文件)、ShapeDrawable(可绘制的形状文件)、StateListDrawable(可绘制的状态列表等)。

2 BitmapDrawable

BitmapDrawable叫做可绘制的位图文件,可以通过Java代码或者xml文件创建。

2.1 通过Java代码使用BitmapDrawable

2.1.1 将位图导入到Android Studio中

首先,将要使用图片导入到Android Studio的“res/drawable”中。

需要注意的是,Android Studio支持的位图格式有png、webp、jpg和gif。但是首选的格式是png和webp,最好不要使用gif格式的图片。

2.1.2 相关代码

在程序中,使用如图1所示代码获取导入的BitmapDrawable资源:

android drawable规格 androidstudio drawable_android drawable规格

图1 获取BitmapDrawable资源的代码

其中,getResources()方法的作用是获取资源,并将其保存到Resources类的变量res中;ResourcesCompat类保存了指定ID的可绘制资源,getDrawable是该类的方法,返回可绘制资源,第一个参数指定了该项目的资源,第二个参数是要获取的可绘制资源的ID,第三个参数是可绘制资源的主题(theme),null表示不指定主题。通过以上代码,就可以获取导入的BitmapDrawable资源。

接下来,通过如图2所示代码使用该BitmapDrawable资源。

android drawable规格 androidstudio drawable_android drawable规格_02

图2 使用BitmapDrawable资源的代码

其中,iv1是与图像视图控件关联的ImageView类的对象,通过setImageDrawable()方法设置该控件显示的位图,其中setImageDrawable()方法的参数drawable,就是之前获取到的BitmapDrawable资源。

2.2 通过xml文件使用BitmapDrawable资源

2.2.1 创建xml文件

在Android Studio的“res/drawable”文件夹的右键菜单中,选择“New->Drawable resource file”,添加一个新的可绘制资源文件,如图3所示。

android drawable规格 androidstudio drawable_android studio_03

图3 新建可绘制资源文件

之后,在弹出的对话框中,设置资源文件的文件名(图4①),并且将资源文件的类型设置为“bitmap”(图4②),如图4所示。

android drawable规格 androidstudio drawable_android studio_04

图4 设置资源文件的文件名及类型

2.2.2 编辑xml文件

点击图4中的“OK”按键之后,就打开了新建的可绘制资源文件,此时会发现文件中的“bitmap”标签是红色的,如图5所示。

android drawable规格 androidstudio drawable_Drawable_05

图5 红色的bitmap标签

其主要原因是对于bitmap标签来说,必须要设置它的“src”属性,如果不设置这个属性,则代码就会报错。

(1)android:src属性

接下来为bitmap添加android:src属性,该属性的作用是设置bitmap关联的位图,代码如图6所示。

android drawable规格 androidstudio drawable_android studio_06

图6 设置android:src属性