Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
1

Анимация плавного исчезновения ImageView

16.12.2016, 14:08. Просмотров 2007. Ответов 9
Метки нет (Все метки)

Пытаюсь сделать плавное исчезновение imageView (zoomin в коде) , все компилируется , но программа сначала долго не реагирует а потом zoomin исчезает как при простом GONE
toast - старт вообще не появляется. Стоп появляется в конце

В логе Skipped 551 frames! Как такое может быть ведь AsyncTask не главный поток ????????


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  @Override
        protected void onPreExecute() {
            super.onPreExecute();
 
            Toast.makeText(getApplicationContext(), "Старт", Toast.LENGTH_LONG).show();
 
                float getA=1f;
 
                for (int i=0; i<20; i++) {
 
                    if ((getA-0.1f)>0) {
 
                        try {
                        TimeUnit.SECONDS.sleep(1);
 
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
 
                    getA=getA-0.1f;
                        zoomin.setAlpha(getA);
 
                    }
                    else
                    {
                        zoomin.setAlpha(0f);
                    }
 
                    testtextView.setText(Float.toString(getA));
 
                }
 
 
 
 
            Toast.makeText(getApplicationContext(), "Стоп", Toast.LENGTH_LONG).show();
 
        }
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2016, 14:08
Ответы с готовыми решениями:

ImageView и анимация
Всем привет! Как можно переместить ImageView за пределы правой границы экрана ровно на половину...

Анимация ImageView
Здравствуйте. Как реализовать анимацию Imageview таким образом,что бы при нажатии кнопка...

Скопировать картинку из одной ImageView в другую ImageView
В ImageView поставлена картинка методом setImageResource. По нажатию на неё, нужно такую-же...

Анимация исчезновения изображений
Нужно чтобы плавно появлялось изображение, исчезало, появлялось другое. Таких около 50. И на каждое...

Анимация плавного изменения фонового изображения
Здравствуйте! Можно ли с помощью jQuery или какого либо его плагина сделать плавную смену...

9
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
16.12.2016, 15:05 2
А где функция doInBackground, которая и выполняет всю работу в отдельном потоке?
И которая кстати не имеет доступ к главному треду.
1
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
16.12.2016, 15:09 3
onPreExecute выполняется в главном потоке, а там в коде sleep 20 раз вызывается

почему нельзя просто создать анимацию и запустить ее на zoomin прямо перед стартом асинктаска?
1
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
16.12.2016, 15:16  [ТС] 4
Можно пример такой анимации????

Добавлено через 1 минуту
doInBackground - я ее оставил пустой так как нет смысла мне же нужно управлять видимостью вьюшки а doInBackground не имеет доступа к ним насколько я понял.
0
16.12.2016, 15:16
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
16.12.2016, 15:17 5
то есть асинк таск для того, что бы управлять прозрачностью вьюшки? это печально
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
16.12.2016, 15:22  [ТС] 6
я понимаю что решение не лучшее , но как иначе реализовать затухание???????
0
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
16.12.2016, 15:25 7
Лучший ответ Сообщение было отмечено Star2016 как решение

Решение

1. в папке res/anim создаем например файл fade.xml с таким содержимым
XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="5000"
    android:fillAfter="true">
    <alpha
        android:fromAlpha="1"
        android:toAlpha="0" />
</set>
2. используем где надо в коде, без всяких асинктасков
Java
1
2
        Animation a = AnimationUtils.loadAnimation(this, R.anim.fade);
        view.startAnimation(a);
1
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
16.12.2016, 16:11  [ТС] 8
Спасибо!!! Такого решения я не знал буду пробовать!!!

Добавлено через 43 минуты
Появилась маленькая проблемка. После того как анимация выполнена нужно еще выполнить GONE иначе элемент (кнопка ) остается активным. Причем сделать это надо после того как кнопка стала невидима. Как отследить что анимация завершилась?
0
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
16.12.2016, 16:21 9
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        final View view = findViewById(R.id.view);
        Animation a = AnimationUtils.loadAnimation(this, R.anim.fade);
        view.startAnimation(a);
        a.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }
 
            @Override
            public void onAnimationEnd(Animation animation) {
                view.setVisibility(GONE);
            }
 
            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });
2
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
16.12.2016, 17:16  [ТС] 10
Спасибо!
0
16.12.2016, 17:16
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2016, 17:16

Анимация плавного изменение альфа канала у цвета
Здравствуйте. Как через таймер сделать плавное изменение альфа канала сначало в 1 сторону потом...

Анимация объектов imageView
Доброго времени суток. Посоветуйте, каким образом возможно реализовать анимацию передвижения и...

Появления/исчезновения блока
Здравствуйте.. Прошу прощения если создал тему не в том разделе. Есть следующий блок где его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.