Je suis nouveau sur Android et j'essaie de créer une application simple. Cependant, je ne parviens pas à définir la couleur d'arrière-plan d'un bouton indépendamment de la couleur primaire de la mise en page.
Voici mon code activity_main:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/custom"/>
<corners android:radius="150dp"/>
</shape>
Et voici ce que j'ai dans mon fichier dessinable créé:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/red_to_blue_back">
<Button
android:id="@+id/btnMovieList"
style="@style/Theme.MovieShow"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/round_button"
android:backgroundTint="#4CAF50"
android:text="Movie List" />
</RelativeLayout>
Cependant, le bouton ne prend pas la couleur du fichier dessinable, mais quelle que soit la couleur définie comme colorPrimary dans le fichier themes.xml.
Des pensées?
Merci!
3 Réponses :
Hmmmmm ...
Essayez de supprimer l'attribut de teinte d'arrière-plan dans xml. Assurez-vous également que votre couleur dessinable n'a pas de transparence.
Si vous devez utiliser l'attribut style, créez-en un autre spécifique à votre bouton et spécifiez sa propre couleurPrimary.
En effet, si votre style personnalisé a le style principal comme parent, il utilise automatiquement certains de ses attributs.
Les commentaires sont les bienvenus. Bon codage
Pour repartir de zéro, faites d'abord un nettoyage:
android:backgroundTint de la disposition des boutonsandroid:style de la disposition des boutons Avec une telle configuration, vous pouvez commencer à expérimenter avec android:background .
Merci les gars. J'ai changé le thème pour qu'il ne soit pas matériel et maintenant cela fonctionne
Supprimer le style = "@ style / Theme.MovieShow" sur le bouton
Vous pouvez définir la couleur des boutons sur quelques niveaux: thème, style, backgroundTint, background. Votre problème peut également être lié à ceci: stackoverflow.com/questions/64722733/...