リストビューのシンプルなセレクターがあります
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:drawable="@drawable/yellow_arc" Android:state_activated="true"/>
<item Android:drawable="@drawable/yellow_nonarc" Android:state_activated="false"/>
</selector>
ビューの状態がアクティブから非アクティブに、またはその逆に変更されたときに、これらのドローアブル間の遷移をアニメーション化したいと思います。
APIデモで example を実行すると、ビューのアクティブ化された状態が変更されている間、明らかなフェードイン/フェードアウトアニメーションが表示されます。
したがって、ビューの状態が変更されている間のカスタムアニメーションが必要です。 xmlで行う必要があると思いますが、方法が見つかりませんでした。
前もって感謝します。
編集:
私は何か便利なものを見つけたと思いますactivated_background.xml
\Android\android-sdk\platforms\Android-API_VERSION\data\res\drawable
含む
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:exitFadeDuration="@Android:integer/config_mediumAnimTime">
<item Android:state_activated="true" Android:drawable="@Android:drawable/list_selector_background_selected" />
<item Android:drawable="@color/transparent" />
</selector>
したがって、APIデモの例では、exitFadeDuration
を宣言してこのフェードアウトアニメーションを実現しています。ただし、これは私が望むものではありません..カスタムアニメーションを宣言したいフェードイン/フェードアウトアニメーションが私のドローアブルではうまく見えないため、状態ドローアブル間の遷移。
API 21「StateListAnimator」に追加されました
http://developer.Android.com/reference/Android/animation/StateListAnimator.html
私はこれが古い質問であることを知っていますが、これはこれを行うことを探している将来の人々を助けるかもしれません。
TransitionDrawable がこれを達成するのに役立つと思います。
ここで答えを確認できます: Androidでビューの背景色のアニメーションを変更
あなたが望むフェードですか?
TextSwitcherの動作と同じだと思いますが、代わりにViewSwitcherに変更したいかもしれません。フェードはプログラムで行われます。
Animation in = AnimationUtils.loadAnimation(this,
Android.R.anim.fade_in);
Animation out = AnimationUtils.loadAnimation(this,
Android.R.anim.fade_out);
mSwitcher1.setInAnimation(in);
mSwitcher1.setOutAnimation(out);