2012-02-10 14 views
33

私はビューの状態は活性化しないように活性化し、ヴィーカのその逆から変更されたとき、私はこれらのドローアブル間の遷移をアニメーション化する私のListViewアニメーションセレクタ/状態遷移

<?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ので

<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> 

このフェードアウトアニメーションをachieveing API-デモの例が含まれて\Android\android-sdk\platforms\android-API_VERSION\data\res\drawableにあります有益な何かを発見したと思います

exitFadeDurationと宣言します。しかし、これは私が欲しいものではありません ..フェードイン/フェードアウトのアニメーションが私のドロワーブルによく見えないので、カスタムアニメーションを状態ドロアブルの間の遷移について宣言したいと思います。

答えて

0

あなたが望むフェードですか?

が、私はそれが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); 

+0

** TextSwitcher **は良い解決策ではありません。私はそれを使用する場合、すべてのリスト項目が**別々の**スイッチャーを持つので、** ListView **内のビューリサイクルメカニズムを処理する必要があります。だからそれは過度のことだろう。私はこれに似たものを試しましたが、それは扱いにくいです。私はそれが利用可能であり、選択された/選択されていないメカニズムを単独で処理するので、セレクタを使う方が良いと信じています。 –

関連する問題