簡體   English   中英

"如何在android中動畫結束后隱藏圖像"

[英]How to hide Images after animation end in android

在我的 android 應用程序中,當我單擊所有圖像動畫中的任何一個時,我有五個圖像視圖。 我為所有圖像設置了縮小和放大動畫。 動畫完成后,選定的圖像視圖將不可見。 圖像不可見后,當我單擊該圖像視圖位置時,它再次啟動動畫並且圖像不可見。

放大動畫:<\/strong>

<scale  xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromXScale="1" 
  android:toXScale="5" 
  android:fromYScale="1" 
  android:toYScale="5" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true">
</scale>

將此代碼添加到動畫對象中:

animation.setAnimationListener(new AnimationListener() 
        {

            @Override
            public void onAnimationStart(Animation animation) { }

            @Override
            public void onAnimationRepeat(Animation animation) { }

            @Override
            public void onAnimationEnd(Animation animation) 
            {
                v2.setImageResource(R.drawable.some_transparent_image);

            }
        });

發生此問題是因為您在兩個Animation XML文件中都添加了android:fillAfter =“ true”。

從兩個XML中刪除“ android:fillAfter =“ true”,或在兩個文件中都保留“ android:fillAfter =” false“。

您必須處理該動畫的動畫偵聽器。

zoomin.setAnimationListener(new AnimationListener() 
    {

        @Override
        public void onAnimationStart(Animation animation) { }

        @Override
        public void onAnimationRepeat(Animation animation) { }

        @Override
        public void onAnimationEnd(Animation animation) 
        {               
            v2.setVisibility(View.GONE);
        }
    });

您需要使用透明圖像 。您需要做的就是在動畫結束時,需要將透明圖像設置為該圖像的背景/ scr,從而替換上一個圖像。

更改視圖的可見性 無法解決您的問題

 v2.setVisibility(View.GONE);
 v2.setVisibility(View.INVISIBLE);

由於上述兩種情況都會導致您的視圖不可單擊,因此您將無法再次單擊。

您可以簡單地更改圖層的透明度。

v2.setAlpha(0f);

你必須首先使用 image.clearAnimation() 然后隱藏它 image.visibility = View.GONE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM