#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. Минусы - надо самому прописывать всю анимацию. Хотя это не так сложно. В приведенных вами ссылках есть варианты. Если что-то по ним не понятно - спросите.
Комментариев нет:
Отправить комментарий