Макет движения Материальный дизайн Расширенная ошибка кнопки

У меня есть приложение с расширенной кнопкой.

Кнопка отлично сжимается и расширяется в ограниченном макете или любом другом макете, кроме макета движения.

В котором кнопка не расширяется после сжатия, а в расширенном состоянии, когда состояние кнопки изменяется на сжатие при нажатии кнопки, текст исчезает, но размер остается прежним.

Ссылка на версию дизайна материалов «реализация com.google.android.material:material:1.3.0-beta01»

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
        android:id = "@+id/btn_call_helpline"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_marginBottom = "@dimen/dimen_20dp"
        android:text = "@string/txt_emergency"
        android:textColor = "@color/color_white"
        app:backgroundTint = "@color/red"
        app:layout_constraintEnd_toEndOf = "parent"
        app:layout_constraintBottom_toBottomOf = "parent"
        app:cornerRadius = "@dimen/dimen_20dp"
        app:elevation = "@dimen/dimen_10dp"
        app:icon = "@drawable/ic_baseline_call_24"
        app:iconTint = "@color/color_white"
        app:rippleColor = "@color/color_white" />

Я проверил код, и в нем нет такого ограничения, которое препятствует сжатию и расширению.

0
0
219
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

FAB, похоже, не может быть измерен дважды. (motionLayout должен это сделать)

Простой обходной путь - обернуть фабрику в контейнер. Как линейный макет поместите LinearLayout в MotionLayout

 <LinearLayout
   android:id = "@+id/fabwrap"
   android:layout_width = "wrap_content"
   android:layout_height = "wrap_content"
   android:layout_marginBottom = "20dp"
   app:layout_constraintEnd_toEndOf = "parent"
   app:layout_constraintBottom_toBottomOf = "parent"
   >

   <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
    android:id = "@+id/fab"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"

    android:text = "hello"
    android:textColor = "@color/white"
    app:backgroundTint = "#F00"
    app:icon = "@drawable/ic_battery"/>
   </LinearLayout>

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