Так что это мои текущие настройки. У меня есть CoordinatorLayout
, который имеет LinearLayout
внутри, что позволяет перетаскивать его внутренние элементы. LinearLayout
относится к BottomSheetBehavior
, прикрепленному к его родителю. Тем не менее, он ведет себя не совсем так, как я хотел бы.
Это полный Layout
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/bottomSheetBehaviorLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:behavior_hideable="false"
app:behavior_peekHeight="40dp"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
<LinearLayout
android:id="@+id/itemsLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- SOME ITEMS GO HERE -->
</LinearLayout>
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
В настоящий момент, если я перетаскиваю элемент, идущий в противоположном смысле, чем BottomSheetBehavior
, то есть снизу вверх, то я могу перетаскивать элементы. Однако, если я начну перетаскивание сверху вниз, оно будет проигнорировано.
Мне бы хотелось, чтобы BottomSheetBehavior
, который фиксирует события движения этого внутреннего LinearLayout
, игнорировал перетаскивание, если BottomSheetBehavior
находится в STATE_EXPANDED
.
Я пытался найти какой-то код, который позволяет это, но, видимо, я не очень хорошо ищу. Может ли кто-нибудь помочь?