Использование fade в анимации для просмотра

Я хочу иметь представление, которое изначально невидимо, и когда я нажимаю кнопку, он становится видимым с затуханием в анимации. Я использую AlphaAnimation для эффекта затухания. Проблема в том, что если я сделаю вид невидимым, анимация не будет видна.

Большое спасибо,

Gratzi

Solutions Collecting From Web of "Использование fade в анимации для просмотра"

Предоставьте AnimationListener для анимации и сделайте вид видимым, как только начнется анимация.

http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html

Предположим, у вас есть ImageView именем imageView и файл анимации your_fade_in_anim.xml в папке res \ anim \:

 ImageView imageView = (ImageView) findViewById(R.id.imageView); Animation fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.your_fade_in_anim); // Now Set your animation imageView.startAnimation(fadeInAnimation); 

Ваш 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="[duration (in milliseconds)]" android:repeatCount="infinite" /> </set> 

Замените скобки вашей фактической продолжительностью.

Вместо бесконечного количества повторов и скрытия / просмотра вашего представления я предлагаю просто не повторять анимацию и сначала начинать с максимального набора альфа-каналов. Затем вы можете использовать:

 <?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="[duration (in milliseconds)]" android:repeatCount="0" /> </set> 

И вы сделали. Нет необходимости прослушивать, скрывать или показывать. Так же просто.