当用户选择不同的选项时,我尝试更改背景颜色。
为此我在运行时创建TransitionDrawable。它的工作正常。但 我的问题是当我使用setDrawableBackground()更改视图背景时,我的一半屏幕视图被形状drawable覆盖。
这是我的TransitionDrawable代码,
public static TransitionDrawable getTransitionDrawable (ShapeDrawable start, ShapeDrawable end){
ShapeDrawable[] mDrawableSet = {start,end};
TransitionDrawable tDrawable = new TransitionDrawable(mDrawableSet);
return tDrawable;
}
这是我的ShapeDrawble创建代码
public static ShapeDrawable getShapeDrawable (int[] colors){
ShapeDrawable mDrawable = new ShapeDrawable(new RectShape());
SweepGradient sg = new SweepGradient(0, 1,colors , null);
mDrawable.getPaint().setShader( new SweepGradient(0, 0,colors , null));
return mDrawable;
}
我在下面写了代码来应用颜色过渡
holder.setBackgroundDrawable(AnimUtils.DEFAULT_TO_SUCCESS_TRANSITION);
transition = (TransitionDrawable) holder
.getBackground();
transition.startTransition(2000);
帮我解决问题...
先谢谢。