Estou tentando criar um botão com um ícone no centro. As partes superior e inferior do círculo são um pouco planas. Existe uma maneira de fazer isso sem usar o raio do canto? Aqui está o meu layout para o botão.
<com.google.android.material.button.MaterialButton
android:id="@+id/start_dispenser_btn"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="175dp"
android:layout_height="175dp"
android:padding="14dp"
app:cornerRadius="150dp"
app:icon="@drawable/ic_play_arrow_black_60dp"
app:iconGravity="end"
app:iconSize="150dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/stop_dispenser_btn"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/test_dispenser_container"
app:strokeColor="@color/background_black" />
android
android-layout
android-button
material-components
material-components-android
QThompson
fonte
fonte
Respostas:
Você pode usar o
app:shapeAppearanceOverlay
atributo para definir o tamanho do canto. Você pode usar o50%
valorcom:
ou com o
style="@style/Widget.MaterialComponents.Button.Icon"
Requer a versão 1.1.0.
fonte
Ao usar
cornerRadius
junto,inset
você pode obter a forma arredondada:fonte