Afin d’utiliser Chip et ChipGroup, j’ai défini le style d’application qui étend "Theme.MaterialComponents.Light.NoActionBar" dans le fichier manifests.xml, puis j’ai défini le bouton "Android: arrière-plan", mais c’est sans effet! Pourquoi? et que puis-je faire?
c'est mon style:
<style name="AppBaseTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/primary_material_light</item>
<item name="colorPrimaryDark">@color/header_color</item>
<item name="actionBarSize">48dp</item>
<item name="Android:screenOrientation">portrait</item>
<!--<item name="buttonStyle">@style/AntButton</item>-->
<!--<item name="materialButtonStyle">@style/AntButton</item>-->
<!--<item name="Android:button"></item>-->
<!--<item name="Android:progressTint">@color/ffc000</item>-->
<item name="colorAccent">@color/ffc000</item>
</style>
<style name="AntButton" parent="Android:Widget">
<item name="Android:background">@drawable/abc_btn_default_mtrl_shape</item>
<item name="Android:textAppearance">?android:attr/textAppearanceButton</item>
<item name="Android:minHeight">48dip</item>
<item name="Android:minWidth">88dip</item>
<item name="Android:focusable">true</item>
<item name="Android:clickable">true</item>
<item name="Android:gravity">center_vertical|center_horizontal</item>
<!--<item name="Android:colorButtonNormal">@color/white</item>-->
</style>
J'ai essayé de changer buttonStyle et materialButtonStyle, mais sans effet aussi!
c'est ma mise en page xml:
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<LinearLayout
Android:id="@+id/ll_popup"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom"
Android:background="@color/white"
Android:divider="@drawable/shape_divider_05dp"
Android:orientation="vertical"
Android:showDividers="beginning|middle">
<!--only can use backgroundTint to change background color-->
<Button
Android:id="@+id/item_popupwindows_Photo"
Android:layout_width="match_parent"
Android:layout_height="55dp"
Android:backgroundTint="@color/white"
Android:text="Pictrue"
Android:textColor="@color/c_666666"
Android:textSize="16sp" />
<!--background not effect !!-->
<Button
Android:id="@+id/item_popupwindows_cancel"
Android:layout_width="match_parent"
Android:layout_height="55dp"
Android:background="@color/white"
Android:text="cancel"
Android:textColor="@color/c_666666"
Android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
c'est le résultat:
Parce que j'ai utilisé Chip et ChipGroup dans APP, je dois utiliser le thème de l'utilisateur pour élargir MaterialComponents! savez-vous comment résoudre tell s'il vous plaît dites-moi, merci!
dans cette page Impossible d'utiliser Android: arrière-plan avec le bouton des nouveaux composants matériels , l'auteur souhaite modifier le remplissage par défaut, mais je souhaite modifier le paramètre backgroundDrawable. Ce n'est donc pas un travail pour moi.
Si vous voulez une vraie Button
, mais que vous puissiez modifier comme le framework Button
(au lieu du MaterialButton
), vous pouvez spécifier explicitement la version du framework dans votre fichier de présentation. Remplacez ceci:
<Button Android:id="@+id/item_popupwindows_cancel" ... />
avec ça:
<Android.widget.Button
Android:id="@+id/item_popupwindows_cancel"
... />
Cela vous donnera ce qui est écrit sur la boîte: un Android.widget.Button
, qui devrait correspondre au style que vous attendez.
De même, vous pouvez utiliser un <androidx.appcompat.widget.AppCompatButton>
si vous souhaitez prendre en charge les fonctionnalités de bibliothèque mais pas les fonctionnalités de composants matériels.
Dans ce cas particulier, la LinearLayout
portant votre deuxième Button
semble avoir une couleur de fond blanche. Cela signifie que vous n'avez pas besoin de spécifier explicitement un fond blanc pour votre Button
; vous pouvez simplement laisser l’arrière-plan de la LinearLayout
apparaître.
Ceci peut être accompli en utilisant le style "Bouton de texte" de MaterialButton
:
style="@style/Widget.MaterialComponents.Button.TextButton"