私はこれについて数日間苦労してきましたが、ついに質問することにしました。それはとても単純なので、非常に基本的なものを見逃す必要があります。
画像が定義されたXMLレイアウトページがあります。 2つのアニメーションXMLページがあり、1つはアルファを0から1に変更し、もう1つは「点滅」効果を作成するために1から0に変更します。したがって、alphaAnimationはXMLで定義されているので、呼び出す必要があります。
画像がポップアップしますが、点滅する点滅効果はありません。
public class blinker extends Activity {
//create name of animation
Animation myFadeInAnimation;
Animation myFadeOutAnimation;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.scanning_view);
//grab the imageview and load the animations
ImageView myImageView = (ImageView) findViewById(R.id.blinkingView01);
Animation myFadeInAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_in);
Animation myFadeOutAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_out);
//fade it in, and fade it out.
myImageView.startAnimation(myFadeInAnimation);
myImageView.startAnimation(myFadeOutAnimation);
}
}
Animリソースの2つのXMLアニメーションレイアウト:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android">
<alpha Android:fromAlpha="0.0"
Android:toAlpha="1.0"
Android:interpolator="@Android:anim/accelerate_interpolator"
Android:duration="50" Android:repeatCount="infinite"/>
</set>
そしてもう一つ:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android">
<alpha Android:fromAlpha="1.0" Android:toAlpha="0.0"
Android:interpolator="@Android:anim/accelerate_interpolator"
Android:duration="1000" Android:repeatCount="infinite"/>
</set>
Android:repeatMode="reverse"
を使用しない理由
フェードをトゥイーンする最良の方法:
ImageView myImageView = (ImageView) findViewById(R.id.imageView2);
Animation myFadeInAnimation = AnimationUtils.loadAnimation(Splash.this, R.anim.tween);
myImageView.startAnimation(myFadeInAnimation);
あなたのres/anim /でtween.xmlを作成します。トゥイーン1は不透明度0から1を開始し、無限を逆にします...
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android">
<alpha
Android:fromAlpha="0.0"
Android:toAlpha="1.0"
Android:duration="1000"
Android:repeatMode="reverse"
Android:repeatCount="infinite" />
</set>
以下のアルファアニメーションを使用して、Androidのビューに点滅効果を設定できます。
blinkanimation= new AlphaAnimation(1, 0); // Change alpha from fully visible to invisible
blinkanimation.setDuration(300); // duration
blinkanimation.setInterpolator(new LinearInterpolator()); // do not alter animation rate
blinkanimation.setRepeatCount(3); // Repeat animation infinitely
blinkanimation.setRepeatMode(Animation.REVERSE);
この後、ビューにアニメーションを追加します。
view.setAnimation(blinkanimation);
または
view.startAnimation(blinkanimation);
誰かがプログラムバージョンを使用することにした場合:
val anim = AlphaAnimation(1.0f, 0.0f)
anim.duration = 750
anim.fillAfter = true
// here is repeat settings
anim.repeatMode = AlphaAnimation.REVERSE // ping pong mode
anim.repeatCount = 1 // count of repeats
yourView.startAnimation(anim)