2016-05-17 11 views
0

私は不可視として開始したいimageViewを持っています。特定のボタンをクリックした後、画像をアニメーション化して、アルファ1のままにしておきたいのですが、どうすればいいですか?今まで運がない。 xmlでアルファを0に設定した場合、イメージは表示されません。私がxmlでアルファを設定しないと、画像は常に見えます。ボタンをクリックすると、0から1アルファまでアニメーション化されます。アルファベット0から1に画像ビューをアニメ化

ここに私のアニメーションコードです。

AlphaAnimation animation1 = new AlphaAnimation(0.0f, 1.0f); 
    animation1.setDuration(1000); 
    animation1.setStartOffset(5000); 
    animation1.setFillAfter(true); 
    tokenBtn.startAnimation(animation1); 

答えて

1

XMLであなたのImageViewのinvisibleを作ってみる:

<ImageView 
    ... 
    android:visibility="invisible"/> 

その後、AnimationListenerを追加することによって、それonAnimationStartvisibleます

... 
animation1.setFillAfter(true); 
animation1.setAnimationListener(new AnimationListener() { 
    @Override 
    public void onAnimationStart(Animation animation) { 
     // pass it visible before starting the animation 
     tokenBtn.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public void onAnimationRepeat(Animation animation) { } 
    @Override 
    public void onAnimationEnd(Animation animation) { } 
}); 
// finally, start the animation 
tokenBtn.startAnimation(animation1); 
0

MainActivity.javaで

を追加
public void blink(View view) { 
     ImageView image = (ImageView) findViewById(R.id.imageView); 
     Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.blink); 
     image.startAnimation(animation1); 
    } 

>解像度でアニメーションフォルダをblink.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="--YOUR DURATION--" 
     android:repeatMode="reverse" 
     android:repeatCount="0"/> 
</set> 

をこのコードを追加し、ボタンのonClickの機能が点滅

命名されていることを確認してください
関連する問題