Je découvre que depuis Android Studio 4.1 Je ne peux pas changer la couleur d'arrière-plan d'un Button
en définissant la couleur de son Android:background
, juste aucun effet. Et personnalisé Drawable
ne fonctionne pas aussi bien.
mon arrière-plan Drawable
:
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<stroke
Android:width="1.5dp"
Android:color="@Android:color/black" />
<solid
Android:color="@Android:color/white" />
<corners
Android:radius="8dp" />
</shape>
mon Button
:
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Add To Cart"
Android:background="@drawable/background3"/>
Résultat:
OK, puisque MaterialButton
est la valeur par défaut Button
à partir de Android Studio 4.1, nous pouvons modifier la forme à l'aide de app:shapeAppearanceOverlay
attribut.
1. Créez un style personnalisé dans themes.xml
:
<style name="leaf">
<item name="cornerSizeTopLeft">70%</item> //can specify corner position
<!--<item name="cornerFamilyTopLeft">cut</item>-->
<item name="cornerSizeBottomRight">70%</item>
<!--<item name="cornerFamilyBottomRight">cut</item>-->
</style>
2. Appliquer le style dans Material Button
:
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="16dp"
Android:text="Show"
app:shapeAppearanceOverlay="@style/leaf" /> //here
Résultat: