2015-05-26 2 views
1

Представьте, что у вас есть панель, скажем, панель стикеров (что-то вроде Viber или Telegram) в вашем приложении, которое нужно время от времени видеть и уходить.Правильный способ (оживить) показать/скрыть вид в андроиде?

Что было бы правильным способом показать/скрыть его? Например, я использовал, чтобы изменить (оживить) высоту макета оболочки, но это было не очень удобно.

Должен ли я просто изменить видимость и сделать? Или можно использовать лучший способ? (Желательно, чтобы анимированный подход был приятным.)

+0

Это зависит от вас. Вы можете настроить видимость на Gone и быть в порядке. Возможно, вы думаете, что это уродливо, поэтому вы добавляете альфа-анимацию, чтобы позволить ей исчезнуть или перевести анимацию, чтобы отключить ее от экрана. Полностью до вас ... – slezadav

+0

Альфа-анимация. –

ответ

3

Используйте view.setTranslationY(translationAmount) и анимируйте с view.animate().translationY(-translationAmount).start().

translationAmount может быть высотой обзора, изменение знака этого измерения приведет к инвертированию направления движения.

Анимация перевода намного эффективнее, чем изменение высоты представления или других параметров макета, потому что вам не нужно проходить дерево просмотра и повторно рисовать все.

+0

Думаю, я поеду с переводом, мне просто нужно выяснить, как сделать его такой же большой, как и мягкая клавиатура. –

+0

Для этого вы можете посмотреть на этот другой вопрос: http://stackoverflow.com/questions/16788959/is-there-any-way-in-android-to-get-the-height-of-virtual-keyboard -of-device – memoizr

+0

Да, я проверял это. ;) –

2

Вы можете применить анимацию к виду, например view.animate(). TranslationY (distance);

применение view.setVisibility (View.VISIBLE); и view.setVisibility (View.GONE); требуется отображать и скрывать представление.

у вас будет правильная идея, указав this.

Смежные вопросы