Нижний лист Android не анимирует высоту на LayoutChange

#android #android-xml #bottom-sheet #android-bottomsheetdialog

Вопрос:

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

Это упрощенная версия моего XML-макета.

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@ id/sheetParent" android:background="@drawable/bottom_sheet_background" android:layout_width="match_parent" android:layout_height="match_parent"gt;  lt;FrameLayout  android:id="@ id/bottomSheetBehavior"  android:layout_width="match_parent"  android:layout_height="wrap_content"  app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"gt;   lt;androidx.core.widget.NestedScrollView   android:layout_width="match_parent"  android:layout_height="wrap_content"gt;   lt;androidx.constraintlayout.widget.ConstraintLayout  android:id="@ id/bottomSheetContent"  android:layout_width="match_parent"  android:layout_height="wrap_content"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"gt;   lt;View  android:id="@ id/drag_pill"  android:layout_width="50dp"  android:layout_height="5dp"  android:layout_marginStart="16dp"  android:layout_marginTop="16dp"  android:layout_marginEnd="16dp"  android:background="@drawable/bottom_sheet_pill"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent" /gt;   lt;/androidx.core.widget.NestedScrollViewgt; lt;/FrameLayoutgt; lt;/androidx.coordinatorlayout.widget.CoordinatorLayoutgt;  

Допустим, я хочу анимировать видимость drag_pill. Я сделал это вот так:

 class ItemInfoBottomSheet(context: Context, item: Item) : BottomSheetDialogFragment() {   val item: Item = item   lateinit var sheetParent: CoordinatorLayout  lateinit var bottomSheetBehavior: FrameLayout  lateinit var bottomSheet: BottomSheetBehaviorlt;Viewgt;  override fun onCreateView(  inflater: LayoutInflater,  container: ViewGroup?,  savedInstanceState: Bundle?  ): View? {   val view: View = inflater.inflate(  R.layout.bottom_sheet_item_info,  container, false  )   sheetParent = view.findViewById(R.id.sheetParent)  bottomSheetBehavior = view.findViewById(R.id.bottomSheetBehavior)  bottomSheet = BottomSheetBehavior.from(bottomSheetBehavior)     TransitionManager.beginDelayedTransition(sheetParent, AutoTransition())  drag_pill.isVisible = !drag_pill.isVisible    return view  } }  

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