Разметка слайдов и слайдов с анимацией

как я могу отобразить макет в центре с помощью слайда, когда я нажимаю кнопку, и еще раз нажмите, чтобы скрыть … slideDown в ANDROID

помогите мне с этим, thnkss

Создайте два анимационных файла xml в папке res / anim

slide_down.xml

    

slide_up.xml

     

Загрузите анимацию. Как и далее код и начните анимацию, когда захотите. В соответствии с вашими требованиями

 //Load animation Animation slide_down = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down); Animation slide_up = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up); // Start animation linear_layout.startAnimation(slide_down); 

Я использую эти простые функции, он работает как jQuery slideUp slideDown, используйте его в вспомогательном classе, просто передайте свое мнение:

 public static void expand(final View v) { v.measure(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); final int targetHeight = v.getMeasuredHeight(); // Older versions of android (pre API 21) cancel animations for views with a height of 0. v.getLayoutParams().height = 1; v.setVisibility(View.VISIBLE); Animation a = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { v.getLayoutParams().height = interpolatedTime == 1 ? WindowManager.LayoutParams.WRAP_CONTENT : (int)(targetHeight * interpolatedTime); v.requestLayout(); } @Override public boolean willChangeBounds() { return true; } }; // 1dp/ms a.setDuration((int) (targetHeight / v.getContext().getResources().getDisplayMetrics().density)); v.startAnimation(a); } public static void collapse(final View v) { final int initialHeight = v.getMeasuredHeight(); Animation a = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { if(interpolatedTime == 1){ v.setVisibility(View.GONE); }else{ v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime); v.requestLayout(); } } @Override public boolean willChangeBounds() { return true; } }; // 1dp/ms a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density)); v.startAnimation(a); } 

Это не работает для меня, я хочу использовать функцию jQuery slideUp / slideDown, я пробовал этот код, но он только перемещает содержимое, которое остается на том же месте после окончания анимации, представление должно иметь высоту 0dp в начале slideDown и высоту представления (с wrap_content) после окончания анимации.

У меня было аналогичное требование в приложении, над которым я работаю. И я нашел стороннюю библиотеку, которая делает слайд-шоу, слайд-вниз и слайд-право в Android.

Подробнее см. Ссылку: https://github.com/mancj/SlideUp-Android.

Чтобы настроить библиотеку (скопируйте ее с части ReadMe на странице Github по запросу):

Получить библиотеку SlideUp

Добавьте repository JitPack в файл сборки. Добавьте его в свой root build.gradle в конце репозиториев:

 allprojects { repositories { ... maven { url 'https://jitpack.io' } maven { url "https://maven.google.com" } // or google() in AS 3.0 } } 

Добавьте зависимость (в gradleиенте модуля)

 dependencies { compile 'com.github.mancj:SlideUp-Android:2.2.1' compile 'ru.ztrap:RxSlideUp2:2.xx' //optional, for reactive listeners based on RxJava-2 compile 'ru.ztrap:RxSlideUp:1.xx' //optional, for reactive listeners based on RxJava } 

Чтобы добавить SlideUp в свой проект, выполните следующие три простых действия:

Шаг 1:

создать любой тип макета

  

Шаг 2:

Найти этот вид в вашей деятельности / fragmentе

 View slideView = findViewById(R.id.slideView); 

Шаг 3:

Создайте объект SlideUp и передайте в своем представлении

 slideUp = new SlideUpBuilder(slideView) .withStartState(SlideUp.State.HIDDEN) .withStartGravity(Gravity.BOTTOM) //.withSlideFromOtherView(anotherView) //.withGesturesEnabled() //.withHideSoftInputWhenDisplayed() //.withInterpolator() //.withAutoSlideDuration() //.withLoggingEnabled() //.withTouchableAreaPx() //.withTouchableAreaDp() //.withListeners() //.withSavedState() .build(); 

Вы также можете обратиться к образцу проекта по ссылке. Я нашел это весьма полезным.

  • Как анимировать путь на canvasе - андроид
  • CSS3 - 3D Flip Animation - IE10 transform-origin: сохранение-3d обходное решение
  • дрожание / вобуляция анимации просмотра в android
  • Простая анимация с использованием C # / Windows Forms
  • Простая анимационная петля для CSS - Fading In & Out «Загрузка» текста
  • Android TranslateAnimation сбрасывается после анимации
  • Как мне оживить View.setVisibility (GONE)
  • Лучшие практики
  • Android-анимация не повторяется
  • Сделать новый вид активности за старым во время перехода
  • Как создать анимированный GIF из JPEG в Android (разработка)
  • Interesting Posts

    В каратэ, как мы можем совместно работать с BA для автоматизации бизнес-сценариев

    Как сделать образ раздела жесткого диска

    Самый простой способ настроить HTTP-прокси-запрос-отправитель в MAC-адресе?

    Java – заполнитель в текстовом поле

    Как обмениваться данными с двумя (2) classами SwingWorker в Java

    ASP.NET MVC Routing – добавление расширения .html к маршрутам

    Как обрабатывать статический инициализатор конечного поля, который выдает проверенное исключение

    Отключить (отменить) стандартные горячие клавиши Win + Arrows, чтобы сделать их пригодными для использования в других приложениях

    Получите количество слушателей, клиентов, подключенных к концентратору SignalR

    Микроданные против RDFa

    Веб-сайты не загружаются в Firefox, но работают в Chrome и Internet Explorer

    Как отправить код состояния 500 в ASP.Net и все еще написать ответ?

    Проблема с ggplot2, geom_bar и position = “dodge”: уложенная имеет правильные значения y, уклонение не

    Почему nvcc не удается скомпилировать файл CUDA с boost :: spirit?

    Android с сохранением битовой карты на SD-карту

    Давайте будем гением компьютера.