【问题标题】:Android lollipop Menu button to Back button renderingAndroid棒棒糖菜单按钮到后退按钮渲染
【发布时间】:2014-11-26 09:18:23
【问题描述】:
如果您看到Google Play 应用程序,当用手指滑动菜单时,menu button 会逐渐漂亮地转换为back button,这似乎不是动画。任何人都可以帮助我实现这件事吗?
随意移动/关闭帖子,但请您将我重定向到任何有用的方向。
【问题讨论】:
标签:
android
eclipse
image
android-animation
android-5.0-lollipop
【解决方案1】:
可以使用 AnimatedStateListDrawable 实现图标转换(还支持动画矢量图标。)
例如
public void setOrAnimatePlusCheckIcon(final ImageView imageView, boolean isCheck,
boolean allowAnimate) {
if (!hasL()) {
compatSetOrAnimatePlusCheckIcon(imageView, isCheck, allowAnimate);
return;
}
Drawable drawable = imageView.getDrawable();
if (!(drawable instanceof AnimatedStateListDrawable)) {
drawable = mActivity.getResources().getDrawable(R.drawable.add_schedule_fab_icon_anim);
imageView.setImageDrawable(drawable);
}
imageView.setColorFilter(isCheck ?
mActivity.getResources().getColor(R.color.theme_accent_1) : Color.WHITE);
if (allowAnimate) {
imageView.setImageState(isCheck ? STATE_UNCHECKED : STATE_CHECKED, false);
drawable.jumpToCurrentState();
imageView.setImageState(isCheck ? STATE_CHECKED : STATE_UNCHECKED, false);
} else {
imageView.setImageState(isCheck ? STATE_CHECKED : STATE_UNCHECKED, false);
drawable.jumpToCurrentState();
}
}
来自https://github.com/google/iosched的代码