Как я могу сделать так, чтобы окна появлялись в нижней части экрана?

#java #android-studio #user-interface

Вопрос:

У меня есть Карта с маркерами на заправочных станциях вокруг моего местоположения. Когда я нажимаю на них, я хочу, чтобы в нижней части экрана появилось окно (и проходило только половину экрана карты), в котором я хочу отобразить информацию об этой заправочной станции. Как мне сделать это окно, выходящее из нижней части экрана? Анимация?

введите описание изображения здесь

Комментарии:

1. Вы ищете нижний лист. Это может быть полезно: material.io/components/sheets-bottom/android

Ответ №1:

Заявления :

   Animation slideup, slidedown;
  LinearLayout bottomLay;
 

Инициализации:

   slideup = AnimationUtils.loadAnimation(this, R.anim.slide_up);
  slidedown = AnimationUtils.loadAnimation(this, R.anim.slide_down);
  bottomLay = findViewById(R.id.bottomLay); //your bottom view
 

запустите анимацию :

 public void startSlideDown() {
       bottomLay.startAnimation(slidedown); // down 
}
 

или

 public void startSlideUp() {
      bottomLay.startAnimation(slideup);  // up
}
 

slide_down.xml

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator">

    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromYDelta="0"
        android:toYDelta="100%p" />

</set>
 

slide_up.xml

 <?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromYDelta="100%p"
    android:toYDelta="0%p" />