Анимация нижнего листа не работает на некоторых устройствах

Я использую kotlin для создания диалогового окна нижнего листа, он работает идеально, но на некоторых устройствах его анимация снизу вверх не работает -

Мой код XML 1. content_bottom_sheet.xml

<?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:id="@+id/bottomSheetLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/bottom_sheet_rounded"
            app:behavior_hideable="true"
            app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
            android:layout_alignParentBottom="true"
            app:behavior_peekHeight="@dimen/_340sdp"
 >

  ////
  ///

</RelativeLayout>
  1. Основной XML ( main.xml)

       <?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:id="@+id/bottomSheetLayout"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@drawable/bottom_sheet_rounded"
            >
    
    
          ///
          ///
          <android.support.design.widget.CoordinatorLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginTop="30dp">
    
            <include
                    android:id="@+id/bottomSheetDialog"
                    layout="@layout/content_bottom_sheet"></include>
          </android.support.design.widget.CoordinatorLayout>
    
    
       </RelativeLayout>
    

Код Kotlin для открытия нижнего листа

   bottomSheetBehavior = BottomSheetBehavior.from(bottomSheetDialog)

    (bottomSheetBehavior as BottomSheetBehavior<View>?)?.state = BottomSheetBehavior.STATE_HIDDEN

    (bottomSheetBehavior as BottomSheetBehavior<View>?)?.setBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {
        override fun onStateChanged(bottomSheet: View, newState: Int) {
            when (newState) {

                BottomSheetBehavior.STATE_EXPANDED -> {

                }

                BottomSheetBehavior.STATE_COLLAPSED -> {

                }

                BottomSheetBehavior.STATE_HALF_EXPANDED -> {

                }

                BottomSheetBehavior.STATE_HIDDEN -> {


                }

                BottomSheetBehavior.STATE_HALF_EXPANDED->{


                }
            }
        }
        override fun onSlide(bottomSheet: View, slideOffset: Float) {


        }
    })

Я использую этот метод, чтобы показать нижний лист

    if(bottomSheetBehavior?.state != BottomSheetBehavior.STATE_STATE_COLLAPSED){
        bottomSheetBehavior?.state = BottomSheetBehavior.STATE_COLLAPSED
    }

Но на некоторых устройствах его анимация (идущая снизу вверх) не отображается. Не могли бы вы предложить мне код для внесения изменений в способ анимации снизу вверх.

0 ответов

Другие вопросы по тегам