Android Drawable
Android 提供了非常多种 Drawable
AdaptiveIconDrawable AnimatedImageDrawable AnimatedVectorDrawable BitmapDrawable ColorDrawable DrawableContainer DrawableWrapper GradientDrawable LayerDrawable NinePatchDrawable PictureDrawable ShapeDrawable VectorDrawable AnimatedStateListDrawable AnimationDrawable ClipDrawable InsetDrawable LevelListDrawable PaintDrawable RippleDrawable RotateDrawable ScaleDrawable StateListDrawable TransitionDrawable
接下来几章节我们会种重点讲解我们经常使用的那几种
Drawable 资源注意事项
-
Drawable 分为两种
一种是我们 普通的图片资源 ,一般放到
res/mipmap
目录下可以把工程切换成
Android Studio
项目模式,然后就可以直接往mipmap
目录下丢图片即可,Android Studio
会自动分 hdpi,xhdpi...另一种是我们编写的 XML 形式的 Drawable资源,一般把他们放到
res/drawable
目录下,比如最常见的按钮点击背景切换的 selector -
在
XML
我们直接通过@mipmap
或者@drawable
设置Drawable
即可android:background = "@mipmap/iv_icon_zhu" android:background = "@drawable/btn_back_selctor"
而在 Java 代码中,则可以通过
Resource.getDrawable(R.mipmap.xxx)
获得drawable
资源如果是为某个控件设置背景,比如 ImageView,可以直接调用控件 ·.getDrawale()` 同样可以获得 drawable 对象
-
Android 中 drawable 中的资源名称有约束,必须是小写的
[a-z0-9_.]
不能以数字开头,否则编译会报错
Invalid file name: must contain only [a-z0-9** .]!