3

ユーザーが別のオプションを選択したときに背景色を変更しようとしています。

そのために、実行時に TransitionDrawable を作成しています。その作品はうまくいきます。しかし、私の問題は、setDrawableBackground() を使用してビューの背景を変更したときです。画面ビューの半分がシェイプ ドローアブルによってオーバーライドされます。

これが私の 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);

私の問題を解決するのを手伝ってください...

前もって感謝します。

4

0 に答える 0