Реализовать функцию Sliding Drawer как - PullRequest
1 голос
/ 14 марта 2019

Я хотел добавить выдвижной ящик в одно из моих занятий, но увидел, что он устарел с API 17 .

Что мне интересно, сделать что-то похожее на этот от androhub .

Мой всплывающий ящик / активность / фрагмент имеет только кнопки внутри.Мне нужна эта кнопка ручки, и я хочу, чтобы ящик поднимался до тех пор, пока кнопка ручки не коснется верхней части экрана.

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

Ответы [ 4 ]

1 голос
/ 14 марта 2019

Вы можете реализовать ту же функциональность, используя BottomSheetDialog.

Проверьте ссылку ниже для справки.

https://developer.android.com/reference/android/support/design/widget/BottomSheetDialog

1 голос
/ 14 марта 2019

Это - лучший пример, который я нашел для того, что вы просили, дайте мне знать, если это было хелфом.

1 голос
/ 14 марта 2019

BottomSheet откроется снизу. DrawerLayout откроется сбоку.

0 голосов
/ 14 марта 2019

Этого можно добиться, используя пакет AndroidSlidingUpPanel от Umano

Импорт библиотеки

dependencies {
  repositories {
     mavenCentral()
  }
  implement 'com.sothree.slidinguppanel:library:3.4.0'
}

Включите com.sothree.slidinguppanel.SlidingUpPanelLayout в качестве корневого элемента в макете своей деятельности.Макет должен иметь гравитацию, установленную сверху или снизу.Убедитесь, что у него двое детей.Первый ребенок - ваш основной макет.Второй ребенок - ваш макет для сдвигающейся панели.Основной макет должен иметь ширину и высоту, равные match_parent.Скользящий макет должен иметь ширину, равную match_parent, и высоту, равную match_parent, wrap_content или максимально желаемой высоте.Если вы хотите определить высоту как представление экрана, установите для него значение match_parent, а также определите атрибут layout_weight для скользящего вида.По умолчанию вся панель будет действовать как область перетаскивания и будет перехватывать щелчки и событие перетаскивания

например, xml

<com.sothree.slidinguppanel.SlidingUpPanelLayout
   xmlns:sothree="http://schemas.android.com/apk/res-auto"
   android:id="@+id/sliding_layout"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="bottom"
   sothree:umanoPanelHeight="68dp"
   sothree:umanoShadowHeight="4dp">

<TextView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="center"
   android:text="Main Content"
   android:textSize="16sp" />

<TextView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="center|top"
   android:text="The Awesome Sliding Up Panel"
   android:textSize="16sp" />
</com.sothree.slidinguppanel.SlidingUpPanelLayout> 

https://github.com/umano/AndroidSlidingUpPanel

...