Цитата:
Для тестового, запустите на onLoad, или на onShow.
Я извиняюсь, для чайников, можете пояснить, как это сделать?
Спасибо.
Гуру, выручайте, столкнулся с проблемой, может кто знает в чём причина. Не отрабатывает onAnimationEnd. Создал анимацию для ПопАп-меню, на компонент ПопАп повесил onAnimationEnd в которой
прописал фокус на нужную кнопку. Меню появляется, анимация отрабатывает но фокус не встаёт на нужную кнопку. В аналогичном проекте всё работает как положено, правда анимация там по проще.
Неужели из-за сложности анимации могут возникнуть такие проблемы?
Цитата:
Неужели из-за сложности анимации могут возникнуть такие проблемы?
Упс, извиняюсь, всё, разобрался сам, как и всегда проблема в человеческом факторе, а точнее в спешке и невнимательности!
Как можно спутать маркер и метка, а оказывается очень легко, когда они на англосакском а ты поторопился и обращаешь
бегло внимание только на начальные буквы слова, отсюда и проблемы. Так что будьте внимательней друзья, особенно к
мелочам.
Вопрос к знатокам, если таковые ещё посещают данную тему, касательно мелочей. По факту можно и забить на это, но, хотелось бы сделать правильно.
Когда идёт одна анимация тут всё понятно, onAnimationEnd вам в помощь, а вот что бы вы сделали когда их несколько и они на разных компонентах?
А нужно это для того что бы во время проигрывания одновременно всех анимаций юзер не сбил их, беспорядочно тыкая по кнопкам пульта, ну вот
такой нервный юзер попался. И вот тут то вот onAnimationEnd и не прокатывает, анимацию другого компонента он игнорирует, а на компонент который
в данный момент не активен вешать конец анимации тоже бесполезно, пробовали, не прокатывает. Ну так что скажете Гуру, как из положения выходили?
Цитата:
как из положения выходили?
Я конечно не знаток но ответить попробую, лично у меня таких ситуаций вроде не было, не припомню что то.
Гляну в старых проектах, может было что похожее. Либо попробую смоделировать такую ситуацию. А там посмотрим.
Цитата:
как из положения выходили?
В общем я тут сам с проблемой разобрался, если её таковой можно назвать, в принципе ни чего сложного. Думал плюнуть и так оставить,
если не тыркать по кнопкам и дождаться когда закончится последняя анимация, то и нормуль всё кажется, работает как надо, да что то зацепила
меня эта мелочь, пришлось до ума доводить. Так что вопрос решён, можно бы и снять, но всё таки хотелось услышать решения от знатоков.
@
AlexsisIv, фокус перенести на нейтральный элемент или просто убрать с активной кнопки.
Это всё правильно, я так и делаю, создаю пустышку, на эту фейковую кнопку вешаю фокус и по завершению анимации возвращаю фокус туда куда нужно,
но, это всё работает когда у нас либо одна анимация, либо их несколько и они по длительности одинаковые, а вот когда они разные по длительности и завершение
анимации висит на короткой, а на длинную её ни как не повесить, вот тут как раз и может возникнуть такая ситуация. Тут как быть?
Цитата:
на длинную её ни как не повесить
почему?
ну, в качестве костыля можно использовать таймер
- - - Добавлено - - -
хотя бывает, что событие "по окончании анимации" не отрабатывает. От количества запущенных анимаций не зависит. Не хочет и всё. Поменяешь порядок команд или ещё что-то в цепочке - начинает работать.
Цитата:
можно использовать таймер
Ай шайтанама! Почему секрет знаешь!? O_o Именно таким образом и решил проблему!
А вот тут вот не могу согласиться. Если программа предлагает несколько вариантов решения определённых задач, разве это костыль?
Вы можете работать и с окончанием анимации, а можете вообще и без этого, только с таймером, и программа идеально отработает всё
по таймеру. Мне даже больше понравилось именно так. Даже если нет вообще ни каких анимаций, а так, потребовалась задержка то
таймер именно то что нужно. В общем я не согласен что таймер это костыль, просто ещё один вариант решения временных задержек.