#java #android
В меню игры нужна кнопка для выбора режима игры. Обычный выпадающий spinner не подходит. Захотелось вот такую штуку: Начать игру < Режим 1 > Рекорды Настройки Выход Либо стрелки будут вызывать анимацию движения кнопки и вместо Режим 1 выйдет кнопка Режим 2. Важно чтобы была плавная анимация. Вот думаю как же это реализовать. Ну первая стрелка это кнопка , посередине ImageView ? или не кликабельная кнопка описанная в xml как анимированная. При нажатию на стрелку нужно вызвать анимацию ухода ImageView в правую часть экрана и прихода уже с другим текстом с левой части экрана. (даже лучше использовать TextView с backgroud) Ну в общем я думаю понять, что я хочу совсем не сложно. Хочу понять как это реализовать правильно, чтобы не учиться на своих ошибках, времени на это к сожалению нет. Попробовал класс Animation, в нём 4 типа анимации, вот гифка вначале статьи. Есть вариант с уходом кнопки вправо и возвратом так же справа, не знаю можно ли её адаптировать так чтобы возврат был с левой стороны экрана и вообще можно ли в процессе анимации в нужный момент менять текст кнопки?
Ответы
Ответ 1
Можно использовать LinearLayout с ImageView/TextSwitcher/ImageView: Про TextSwitcher можно почитать здесь. Анимацию в одну сторону устанавливайте так: in = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left); out = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right); в другую, вам понадобится такой класс: public class ReverseInterpolator implements Interpolator { @Override public float getInterpolation(float paramFloat) { return Math.abs(paramFloat -1f); } } использовать, прямая: in.setInterpolator(new LinearInterPolator()); out.setInterpolator(new LinearInterPolator()); обратная: in.setInterpolator(new ReverseInterpolator ()); out.setInterpolator(new ReverseInterpolator ()); Другой вариант: Не использовать TextSwitcher, а собрать анимацию самому. Плюсы - можно анимировать любые View. Минусы - надо самому прописывать всю анимацию. Хотя это не так сложно. В приведенных вами ссылках есть варианты. Если что-то по ним не понятно - спросите.
Комментариев нет:
Отправить комментарий