2017-09-01 7 views
1

Créé un style personnalisé pour le bouton lorsque vous appliquez le style pour le bouton c'est partiellement. Voici l'extrait de code de style.Le style de bouton personnalisé s'applique partiellement

Manifest.xml

<application android:theme="@style:AppTheme"> 

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:buttonStyle">@style/back_button_style</item> 
    <item name="buttonStyle">@style/back_button_style</item> 
</style> 

<style name="back_button_style" parent="Widget.AppCompat.Button"> 
    <item name="background">@drawable/back_button_shape</item> 
    <item name="android:layout_height">40dp</item> 
    <item name="android:textColor">#ffffff</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:textAlignment">center</item> 
    <item name="android:textAllCaps">true</item> 
    <item name="android:layout_marginStart">72dp</item> 
    <item name="android:layout_marginEnd">72dp</item> 
    <item name="android:fontFamily">sans-serif</item> //sans-serif nothing but robot regular 
</style> 

layout.xml

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="continue" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintHorizontal_bias="0.501" 
    android:layout_marginBottom="8dp" /> 

Après applyin Dans le style, seule la couleur du texte change en blanc car j'ai donné la couleur du texte en blanc mais les autres informations d'identification ne sont pas appliquées en arrière-plan, avant d'appliquer la couleur du texte du bouton était noir. Donc, je ne comprends pas pourquoi il applique partiellement le style.

J'ai essayé comme ça aussi, mais il ne fonctionne pas

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="continue" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintHorizontal_bias="0.501" 
    android:layout_marginBottom="8dp" 
    android:theme="@style/back_button_style/> 

Je ne reçois pas quoi et où est le bug dans le code.

+0

Possible copie de [Comment créer un bouton personnalisé dans Android en utilisant des styles XML] (https://stackoverflow.com/questions/18507351/how-to-create-custom-button-in-android-using-xml-styles) – akhilesh0707

+0

essayez 'style =" @ style/back_button_style "' au lieu de 'android: theme =" @ style/back_button_style "' – Joshua

+0

'android: thème =" @ style/AppTheme "' –

Répondre

1

Rectifier Boutonandroid:theme section.

Ne pas

android:theme="@style/back_button_style 

Do

style="@style/back_button_style" 

Puis Clean-Rebuild-Run.

+0

J'ai essayé comme ça aussi mais il s'applique partiellement seule la couleur du texte et les marges sont appliquées, mais le fond et la hauteur ne s'appliquent pas, j'ai vérifié séparément en appliquant le fond sur le bouton cela fonctionne –

+0

@ ArchanaSM 'android: background' –

+0

@ArchanaSM supprimer' android: layout_height = "wrap_content" 'https://stackoverflow.com/a/6608323/3395198 –