3

TransitionDrawableを使用して、アクションバーでカラーアニメーションを実行しようとしています。

私が試しているコードは非常に単純です。onCreate中に、トランジションドローアブルをアクションバーの背景として配置します。

Drawable d = getResources().getDrawable(R.drawable.actionbar);
actionbarDrawable = new TransitionDrawable(new Drawable[] { d, d });
getActionBar().setBackgroundDrawable(actionbarDrawable);

次に、イベントで、TransitionDrawableの2番目のドローアブルを置き換えて、アニメーション化するように依頼します。

    actionbarDrawable.setDrawableByLayerId(1, d);
    actionbarDrawable.startTransition(666);

アクティビティのRelativeLayoutで同じコードを試しましたが、正常に機能しているようです。ActionBarが連携したくない理由と、それを機能させる方法について教えてください。

ありがとう。

4

1 に答える 1

5

それを試してみてください:

値/文字列:

<color name="blue">#FF4682B4</color>
<color name="red">#FFC30F0F</color>

あなたのクラスで:

ColorDrawable blue = new ColorDrawable(getResources().getColor(R.color.blue));
ColorDrawable red = new ColorDrawable(getResources().getColor(R.color.red));
ColorDrawable[] color = {blue, red}; 
TransitionDrawable trans = new TransitionDrawable(color);
actionBar.setBackgroundDrawable(trans);
trans.startTransition(500);
于 2014-02-17T18:08:07.190 に答える