2015-12-28 1 views
1

J'ai créé un style de bouton pour une grille de boutons, mais pour une raison étrange, l'un des attributs du style ne fonctionne pas. C'est bizarre parce que tout le reste. Quelqu'un peut-il repérer le problème?Attribut android dans un style étant ignoré

ici est mon bouton:

<Button 
     style="@style/BtnStyle" 
      grid:layout_columnWeight="1" 
     android:text="7" /> 

et voilà son style:

<style name="BtnStyle"> 
    <item name="android:layout_width">@dimen/btn_width</item> 
    <item name="android:layout_height">@dimen/btn_height</item> 
    <item name="android:textSize">@dimen/btn_text_size</item> 
    <item name="android:background">@drawable/btn_shape</item> 
    <item name="android:textColor">#ffffff</item> 
    <item name="grid:layout_columnWeight">1</item> 
    <item name="grid:layout_gravity">fill_horizontal</item> 
    <item name="android:gravity">center</item> 
</style> 

tous les attributs se propagent, mais la "grille: layout_columnWeight" est ignorée. Je dois donc le répéter plusieurs fois.

merci!

+0

Avez-vous inséré votre bouton dans 'GridLayout'? –

+0

oui, il y a une disposition de grille avec elle. – gmmo

Répondre

0

Je ne ai pas la grille: layout_columnWeight est un attribut android valide car son préfixe est grille mais pas android. Si vous utilisez GridLayout, vous devrez peut-être utiliser android: layout_columnWeight (https://developer.android.com/reference/android/widget/GridLayout.LayoutParams.html)

Si c'est un attribut de la bibliothèque, vous devrez peut-être ajouter quelque chose comme

xmlns:appcompat="http://schemas.android.com/apk/res-auto" 

dans la racine du xml marque.

Si elle est pour la bibliothèque personnalisée, je pense que vous devez définir l'attribut dans res/attr/