Я хотел добавить выдвижной ящик в одно из моих занятий, но увидел, что он устарел с API 17.
Что мне интересно сделать что-то похожее на это от androhub.
У моего выдвижного ящика/действия/фрагмента есть только кнопки внутри. Мне нужна эта кнопка ручки, и я хочу, чтобы ящик поднимался до тех пор, пока кнопка ручки не достигнет верхней части экрана.
Можете ли вы указать, что я могу использовать для достижения этой цели?
Это лучший пример, который я нашел для того, что вы просили, дайте мне знать, было ли это бесполезно.
Вы можете реализовать ту же функциональность, используя BottomSheetDialog.
Проверьте ссылку ниже для справки.
https://developer.android.com/reference/android/support/design/widget/BottomSheetDialog
BottomSheet откроется снизу. DrawerLayout откроется сбоку.
Вы можете достичь этого, используя пакет 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>