备注
这个AnimatedStateListDrawable是在API21提出,针对于Android 5.0
其他Draw文章参考:
Android中Drawable整体介绍
Drawable包含一组可绘制的关键帧,其中当前显示的关键帧是基于当前状态集来选择的。 关键帧之间的动画可以可选地使用过渡元素来定义。
这个drawable可以用
XML中
(1)
StateListDrawable的根布局是
(2)
可以理解为帧动画一样,里面包含一系列的item,使用android:drawable与 android:duration来分别设定特定的图片与展示的时间。
给View使用
代码
private static final int[] STATE_CHECKED = new int[]{android.R.attr.state_checked};
private static final int[] STATE_UNCHECKED = new int[]{};
//mImageView.setImageState中参数必须是int[]。
mImageView = (ImageView) findViewById(R.id.my_ImageView);
mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (flag) {
mImageView.setImageState(STATE_UNCHECKED, true);
flag = false;
} else {
mImageView.setImageState(STATE_CHECKED, true);
flag = true;
}
}
});
效果描述
点击图片之后,会经过几个颜色变化,但是并不会停止到你设定的off状态的那个drawable,但是会停止到你设置的