背景
可以更改操作栏(Action Bar)的背景,甚至可以在两种颜色之间进行动画效果,如下所示:
public static void animateBetweenColors(final ActionBar actionBar, final int colorFrom, final int colorTo,
final int durationInMs) {
final ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
colorAnimation.addUpdateListener(new AnimatorUpdateListener() {
ColorDrawable colorDrawable = new ColorDrawable(colorFrom);
@Override
public void onAnimationUpdate(final ValueAnimator animator) {
colorDrawable.setColor((Integer) animator.getAnimatedValue());
actionBar.setBackgroundDrawable(colorDrawable);
}
});
if (durationInMs >= 0)
colorAnimation.setDuration(durationInMs);
colorAnimation.start();
}
问题
我找不到一种方法来获取操作模式的视图,以便在某些情况下(当它显示时)更改其背景。
我的尝试
我唯一找到的是一个hack-y方法,它假设操作模式的id将保持不变,即使这只能用于“完成”按钮的视图(看起来像“V”的那个,实际上更像是“取消”)。
我还发现可以通过主题更改它,但这不是我需要的,因为我需要在程序中动态更改。
问题
如何获取操作模式的视图,或者更准确地说,如何使用动画更改其背景?