Подтвердить что ты не робот

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

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

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

Gratzi

4b9b3361

Ответ 2

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

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>

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

Ответ 3

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

<?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>

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