J'ai un bouton. Lorsque j'appuie sur le bouton, je dois rendre le texte en gras sinon normal. J'ai donc écrit des styles pour gras et normal.
<style name="textbold" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
</style>
<style name="textregular" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">normal</item>
</style>
Maintenant, j'ai un button_states.xml comme:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
style="@style/textbold" />
<item android:state_focused="false" android:state_pressed="true"
style="@style/textregular" />
<item style="@style/textregular" />
</selector>
Dans ma mise en page pour ce bouton, je dois rendre l'arrière-plan transparent aussi ... Comment vais-je le faire? Mon code de mise en page est:
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
Comment vais-je inclure un arrière-plan transparent dans mon style?
Réponses:
Pour rendre un arrière-plan transparent, faites-le
android:background="@android:color/transparent"
.Cependant, votre problème semble être un peu plus profond, car vous utilisez les sélecteurs d'une manière vraiment étrange. La façon dont vous l'utilisez semble incorrecte, bien que si cela fonctionne réellement, vous devriez mettre l'image d'arrière-plan dans le style en tant que fichier
<item/>
.Regardez de plus près comment les styles sont utilisés dans la source Android. Bien qu'ils ne changent pas le style du texte en cliquant sur les boutons, il existe de nombreuses bonnes idées sur la façon d'atteindre vos objectifs.
la source
Essayez une nouvelle façon de définir l'arrière-plan transparent
la source
utilisez
#0000
(seulement quatre zéros sinon cela sera considéré commeblack
) c'est le code couleur pour transparent. Vous pouvez l'utiliser directement mais je vous recommande de définir une couleur dans color.xml afin que vous puissiez profiter de la réutilisation du code.la source
@android:color/transparent
Ajoutez ceci dans votre Xml -
android:background="@android:color/transparent"
la source
Vous pouvez également utiliser: dans votre xml:
ou en code:
la source
J'ai réalisé cela avec en XML avec
la source
j'ai utilisé
et
la source
Les sélecteurs ne fonctionnent que pour les dessins, pas pour les styles. Référence
Tout d'abord , pour rendre l'arrière-plan du bouton transparent, utilisez l'attribut suivant car cela n'affectera pas les animations de conception matérielle:
Il existe de nombreuses façons de personnaliser votre bouton. Consultez ce tutoriel .
Deuxièmement , pour rendre le texte en gras lorsque vous appuyez sur, utilisez ce code java:
la source
Vous pouvez y parvenir en définissant le canal alpha des couleurs.
La palette de couleurs est comme celle-ci #AARRGGBB: A représente le canal alpha (transparence), R représente le rouge, G le vert et B le bleu.
la source
Étape 1: créer un nouveau fichier de ressources dans drawable et copier-coller
enregistrez-le sous ButtonUI (disons)
Étape 2: appliquer l'interface utilisateur au bouton xml
la source
Code:
Xml:
la source
Nous pouvons utiliser l'attribut android: background dans Button xml comme ci-dessous.
Ou nous pouvons utiliser le style
style="?android:attr/borderlessButtonStyle"
pour un fond transparent et sans ombre.la source
Vous appliquez la couleur d'arrière-plan comme
transparent(light gray)
lorsque vous cliquez sur le bouton.Dans la méthode ci-dessus, vous définissez la couleur d'arrière-plan du bouton.
la source
Vous pouvez le faire facilement en ajoutant l'attribut ci-dessous dans le fichier xml. Ce code a été testé beaucoup de temps.
la source