1

異なる画像リソース間でアニメーションを実行しようとしています。そのため、フレームアニメーションを使用しています。

listanimation.xml

    <?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/music_playing_indicator_1"
        android:oneshot="false">
                <item android:drawable="@drawable/animation_1" android:duration="500" />
                <item android:drawable="@drawable/animation_2" android:duration="50" />
                <item android:drawable="@drawable/animation_4" android:duration="50" />
                <item android:drawable="@drawable/animation_5" android:duration="50" />
                <item android:drawable="@drawable/animation_2" android:duration="80" />
                <item android:drawable="@drawable/animation_1" android:duration="150" />
                <item android:drawable="@drawable/animation_3" android:duration="600" />
                <item android:drawable="@drawable/animation_2" android:duration="250" />
</animation-list>

animation_1 - 5.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <size
        android:height="2dp"
        android:width="2dp" />

    <solid android:color="#ffffff" />

</shape>

高さを2dpから4dp、6dp、8dp、10dpに調整するだけです。
animation_1 2dp
animation_2 4dp
animation_3 6dp など。

アニメーションを実行した後、もちろん、imageview の背景をアニメーション リスト ドローアブルに設定します。

ImageView img = (ImageView) getView().findViewById(R.id.Animation);
        AnimationDrawable frameAnimation = (AnimationDrawable) img
                .getBackground();
        frameAnimation.start();

しかし、ここにアニメーションがアニメーション化されていないように見える問題があります。まったくアニメーションしない場合があります。

実際の .png ファイルで同じことをすると。高さの異なる animation_1 -5.png 完璧に動作します。今、混乱しています。アニメーションリストでシェイプを使用する際に制限はありますか?

私が形状を使用している理由は、さまざまな画面サイズのさまざまなデバイスを簡単にターゲットにすることができるためです。

助けてくれてありがとう...

乾杯アレックス

4

0 に答える 0