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资源:
图1 获取BitmapDrawable资源的代码
其中,getResources()方法的作用是获取资源,并将其保存到Resources类的变量res中;ResourcesCompat类保存了指定ID的可绘制资源,getDrawable是该类的方法,返回可绘制资源,第一个参数指定了该项目的资源,第二个参数是要获取的可绘制资源的ID,第三个参数是可绘制资源的主题(theme),null表示不指定主题。通过以上代码,就可以获取导入的BitmapDrawable资源。
接下来,通过如图2所示代码使用该BitmapDrawable资源。
图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所示。
图3 新建可绘制资源文件
之后,在弹出的对话框中,设置资源文件的文件名(图4①),并且将资源文件的类型设置为“bitmap”(图4②),如图4所示。
图4 设置资源文件的文件名及类型
2.2.2 编辑xml文件
点击图4中的“OK”按键之后,就打开了新建的可绘制资源文件,此时会发现文件中的“bitmap”标签是红色的,如图5所示。
图5 红色的bitmap标签
其主要原因是对于bitmap标签来说,必须要设置它的“src”属性,如果不设置这个属性,则代码就会报错。
(1)android:src属性
接下来为bitmap添加android:src属性,该属性的作用是设置bitmap关联的位图,代码如图6所示。
图6 设置android:src属性