Dans Android XML, puis-je définir buttonStyleSmall ou Bouton.Les petits en tant que parent de style pour un style personnalisé?
Je veux prolonger Android petite touche de style. Je peux le faire en ligne:
<Button android:id="@+id/myButton"
style="?android:attr/buttonStyleSmall"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="10dp"
android:text="Click Here"/>
Mais dans l'intérêt de la réutilisabilité, je veux transférer ces styles pour un style personnalisé. Comment puis-je ajouter buttonStyleSmall
(ou Widget.Button.Small
?) en tant que parent d'un style? Quelque chose comme ceci dans mon style personnalisé XML:
<style name="RightLink" parent="?android:attr/buttonStyleSmall">
<item name="android:layout_alignParentRight">true</item>
<item name="android:layout_gravity">right</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:paddingLeft">2dp</item>
<item name="android:paddingRight">2dp</item>
<item name="android:textSize">10dp</item>
</style>
avec le bouton de la déclaration à l'aide de ce style:
<Button android:id="@+id/myButton"
style="@style/RightLink"
android:text="Click Here"/>
MODIFIER
À l'aide de la syntaxe correcte comme décrit par Lukas ci-dessous (utilisez @android:attr/buttonStyleSmall
la société mère), je suis toujours de voir une différence entre les deux:
Bouton avec buttonStyleSmall comme le style et les styles en ligne a ajouté:
De style personnalisée avec buttonStyleSmall en tant que parent:
Ce qui me manque?
OriginalL'auteur annie | 2011-08-23
Vous devez vous connecter pour publier un commentaire.
Si vous essayez de hériter de style informations à partir d'un Android standard de style. Pour cela, vous aurez besoin d'utiliser la
parent
-attribut comme vous l'avez déjà fait.La seule exception lorsque vous héritez d'une norme de style, que vous avez à utiliser un
@
pas un?
:Un peu plus sur la façon de le faire pour la plateforme de styles (parce que qui diffère de styles que vous avez créé vous-même) peut être trouvé ici.
Après avoir joué avec, j'ai trouvé que la façon dont vous inhirate est correcte, mais le recours est mal:
Cela fonctionne.
La différence coutures que l'entier-constante qui est utilisé pour ajouter ce à l'aide de la
style
-attribut et dans le code est déclaré dans AndroïdesR
-classe dans leattr
-sous-classe.XML-les définitions de Style (à partir de laquelle vous pouvez en hériter) sont stockées dans la
style
-sous-classe de laR
de classe. Si la ligne ci-dessus devrait résoudre votre problème.donc, je suis confus, est <style name="RightLink" parent="@android:attr/buttonStyleSmall"> encore une ligne valide? Android Studio dit qu'il ne l'est pas.
Je n'ai pas essayé depuis, si il compile, vous devriez être bien.
Même chose que @DanielOchoa, dit-il 's pas une ligne valide
OriginalL'auteur Lukas Knuth