У меня есть приложение с расширенной кнопкой.
Кнопка отлично сжимается и расширяется в ограниченном макете или любом другом макете, кроме макета движения.
В котором кнопка не расширяется после сжатия, а в расширенном состоянии, когда состояние кнопки изменяется на сжатие при нажатии кнопки, текст исчезает, но размер остается прежним.
Ссылка на версию дизайна материалов «реализация 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" />
Я проверил код, и в нем нет такого ограничения, которое препятствует сжатию и расширению.
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>