概述
我们先看下android.graphics.drawable 的结构
drawable共有11个子类
1、drawable
http://www.jianshu.com/p/7cd60ffebd64
2、LayerDrawable
Drawable子类之——LayerDrawable (图层叠加)
Android Drawable - Layer Drawable使用详解(附图)
- TransitionDrawable
Drawable子类之——TransitionDrawable (渐变)
Android Drawable - Transition Drawable使用详解(附图)
3、NinePatchDrawable
NinePatchDrawable详解
4、PictureDrawable
Android Picture和PictureDrawable的用处
5、ShapeDrawable
Drawable子类之—— ShapeDrawable (图形定义)
Android Drawable - Shape Drawable使用详解(附图)
- PaintDrawable
//一个继承自ShapeDrawable更为通用、可以直接使用的形状
PaintDrawable drawable3 = new PaintDrawable(Color.GREEN);
drawable3.setCornerRadius(30);
PaintDrawable drawable4= new PaintDrawable(Color.RED);
drawable4.setCornerRadii(new float[]{100,200,100,200,200,400,200,400});
findViewById(R.id.textView).setBackgroundDrawable(drawable3);
findViewById(R.id.textView).setBackgroundDrawable(drawable4);
6、VectorDrawable
VectorDrawable怎么玩
7、AnimatedVectorDrawable
SVG学习–AnimatedVectorDrawable的使用
AnimatedVectorDrawable实现可爱的图钉跳跃动画
8、BitmapDrawable
Drawable子类之—— BitmapDrawable (可控制对齐平铺的图像)
Android Drawable - Bitmap Drawable使用详解(附图)
9、ColorDrawable
Android ColorDrawable那些事
ColorDrawable的简单使用
10、DrawableContainer
DrawableContainer是一个辅助类,包含几个子类可选择,你可以继承它来创建你自己的drawablecontainers或直接使用其子类。
StateListDrawable
Drawable子类之——StateListDrawable (选择器)
Android Drawable - State List Drawable使用详解(附图)- AnimatedStateListDrawable
Android 5.0学习之动画
- AnimatedStateListDrawable
LevelListDrawable
Drawable子类之——LevelListDrawable (等级列表图片)
Android Drawable - Level List Drawable使用详解(附图)AnimationDrawable
AnimationDrawable的使用AnimationDrawable用于创建帧动画,通过一系列的drawable对象定义,它可以用来作为一个视图对象的背景。
来创建一个frame-by-frame动画是在一个XML文件中定义动画的最简单的方法,放置在res/drawable/文件夹,并将它设置为一个视图对象的背景。然后start()运行动画。
定义一个AnimationDrawable在XML组成一个单一的<<动画列表>元素,以及一系列嵌套标签。每个项目定义了动画的一个框架。见下面的示例。
spin_animation.xml file in res/drawable/ folder:
<!-- Animation frames are wheel0.png -- wheel5.png files inside the
res/drawable/ folder -->
<animation-list android:id="@+id/selected" android:oneshot="false">
<item android:drawable="@drawable/wheel0" android:duration="50" />
<item android:drawable="@drawable/wheel1" android:duration="50" />
<item android:drawable="@drawable/wheel2" android:duration="50" />
<item android:drawable="@drawable/wheel3" android:duration="50" />
<item android:drawable="@drawable/wheel4" android:duration="50" />
<item android:drawable="@drawable/wheel5" android:duration="50" />
</animation-list>
设置:
ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
img.setBackgroundResource(R.drawable.spin_animation);
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
frameAnimation.start();
11、DrawableWrapper
ScaleDrawable
Android Drawable - Scale Drawable使用详解(附图)RotateDrawable
用RotateDrawable实现网易云音乐唱片机效果- InsetDrawable
Drawable子类之——InsetDrawable (嵌入)
Android Drawable - Inset Drawable使用详解(附图) - ClipDrawable
Drawable子类之——ClipDrawable (裁剪图像)
Android Drawable - Clip Drawable使用详解(附图)
12、GradientDrawable
Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)
附加:
【Android Drawable】二、BitmapDrawable、NinePatchDrawable、GradientDrawable、StateListDrawable
【Android Drawable】三、LayerDrawable、LevelListDrawable、ColorDrawable、ColorStateList
【Android Drawable】四、TransitionDrawable、InsetDrawable、ScaleDrawable、ClipDrawable 、RotateDrawable
Android Drawable 那些不为人知的高效用法
最后
以上就是迷路大船为你收集整理的android.graphics(二)drawable的全部内容,希望文章能够帮你解决android.graphics(二)drawable所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复