57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
1

Анимация в Android

05.07.2014, 14:10. Показов 1509. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Никак не пойму, как сделать анимацию LinearLayout, чтобы при добавлении нового элемента в него, он плавно разъезжался до нужных размеров? Раньше анимацией особо не парился, а сейчас стало необходимо сделать эффект всплывания небольшой панели внизу экрана...при это, чтобы верхний слой плавно уменьшался в размерах (именно менял высоту и перестраивал детей под новый размер, а не в прямом смысле уменьшался)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2014, 14:10
Ответы с готовыми решениями:

Анимация и Android
Читал похожие темы, но толкового там ничего не нашел Вопрос в следующем: насколько трудоемка...

Gif анимация в Android
Как запустить gif файл в андроид приложении. Делал этот файл фоном,но он просто стоит на месте как...

Покадровая анимация android
Добрый день! Есть такой код: ImageView book=(ImageView)findViewById(R.id.book); ...

Анимация кнопки Android приложение
День добрый ! Я в своем приложении поменял background кнопки на картинку и теперь я бы хотел...

4
28 / 28 / 10
Регистрация: 24.05.2013
Сообщений: 157
05.07.2014, 22:05 2
Про резиновую верстку слышал? Вот для этой Activity и нужна резиновая верстка. При каждом новом добавлении элемента, начинаешь цикл от самого верха LinearLayout(LL) и до тех пор, пока все элементы не поместятся. А все view на этой LL берут значения ширины/высоты = n% от самой LL, ну и координаты x/y для каждой View тоже = n% от LL. И тогда, при добавлении нового элемента, все другие элементы примут новые значения и сами примут новое расположение. Ну а в цикле делаешь задержку, раз хочешь, чтобы плавно все это происходило.
1
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
06.07.2014, 00:34  [ТС] 3
Нет, не слышал, спасибо, и давайте на "вы" все же. Поищу по этой теме ещё
0
28 / 28 / 10
Регистрация: 24.05.2013
Сообщений: 157
06.07.2014, 01:24 4
Ну вот при разработке UI для Android-приложений используются xml-разметка, где указываются фиксированные значения для каждого элемента. А резиновая верстка - это когда все элементы UI берут значения ширины, высоты и расположение равное какому-то проценту от контейнера, в котором они находятся. Напр., 2 кнопки расположены на LinearLayout(LL). При фиксированной верстке, размеры задаются строго:

XML
1
2
android:layout_width = 50dp
android:layout_height = 50dp
А при резиновой:

Java
1
2
3
4
5
//Container - контейнер, который содержит кнопки, т.е. LL в данном случае.
//countBtnInContainer - количество кнопок в контейнере. Делим на это количество, чтобы контейнер
// полностью забивался. А так можно на любое число поделить, смотря какой размер кнопки нужен.
Button.setWidth = Container.getWidth()/countBtnInContainer;
Button.setHeight = Container.getHeight()/countBtnInContainer;
И тогда, при добавлении нового элемента, придется играться только с LL, а все элементы в нем сами будут менять свою ширину и высоту.
1
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
06.07.2014, 01:26  [ТС] 5
Я понял спасибо)
0
06.07.2014, 01:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2014, 01:26
Помогаю со студенческими работами здесь

Анимация текста Android приложения
Как изменить код в MainActivity package com.example.time; import android.app.Activity; import...

Гиф анимация в android studio
Возможно ли в Android Studio добавить gif анимацию в приложение? Анимация берётся не из сети а...

Анимация открытия Activity в Android приложении
Добрый день, как сделать slide анимацию открытия самого первого Activity? Пример: Запускается...

Android-анимация поверх всех View
Всем добрый день. Перерыл весь гугл но так и не смог найти ответ на вопрос. Проблема такая -...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru