9つのolad androidsフレームワークアニメーションを使用して、Pulseエフェクトをどのように作成すればよいのでしょうか。
理解を深めるために、ImageViewがあり、画像を少し小さくしてから元のサイズに戻すなどの「パルス」効果が必要な場合、スケーリングは中央に配置されます。
下位互換性のために9つのoladアンドロイドを使用しています。
その他のオプションは大歓迎です。
ありがとうございました。
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);
heart_Pulse.xmlはres/animフォルダーにheart_Pulse.xmlを置きます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);
@ Matthias RobbersソリューションをXMLから直接使用するには、次の操作を実行できます。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" />