33

9つのoladandroidsフレームワークアニメーションを使用してパルス効果を作成するにはどうすればよいのでしょうか。

よりよく理解するために、ImageViewがあり、画像を少し小さくしてから元のサイズに戻すなどの「パルス」効果が必要な場合は、スケーリングが中央に配置されます。

下位互換性のために、9つのoladandroidを使用しています。

他のオプションは大歓迎です。

ありがとうございました。

4

3 に答える 3

106

R.anim.pulse

<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:toXScale="0.5"
    android:toYScale="0.5" />
ImageView imageView = (ImageView) findViewById(R.id.image);
Animation pulse = AnimationUtils.loadAnimation(this, R.anim.pulse);
imageView.startAnimation(pulse);
于 2013-01-08T14:58:17.213 に答える
16

heart_pulse.xmlは、heart_pulse.xmlをres /animフォルダーに配置します。android:interpolatorを追加します。

その後、以下のようなあなたの活動で使用してください

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0.5"
    android:toYScale="0.5"
    android:duration="1000"
    android:repeatCount="infinite"
    android:repeatMode="reverse"/>

ImageView imageView =(ImageView)findViewById(R.id.imageView);
Animation pulse = AnimationUtils.loadAnimation(this, R.anim.heart_pulse);
imageView.startAnimation(pulse);
于 2015-08-28T09:59:24.483 に答える
5

XMLから直接@MatthiasRobbersソリューションを使用するには、次のようにします。2つのファイルを作成します。

1- pulse.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="0.8"
        android:toYScale="0.8"
        android:duration="500"
        android:repeatCount="infinite"
        android:repeatMode="reverse"/>
</set>

2-pulse_layout_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
    android:animation="@anim/pulse">
</layoutAnimation>

次に、レイアウトxmlファイルで、このアニメーションを必要なビューに追加します。次に例を示します。

<ImageView
    android:layout_width="55dp"
    android:layout_height="55dp"
    android:src="@drawable/heart"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layoutAnimation="@anim/pulse_layout_animation" />
于 2015-08-13T06:29:10.003 に答える