2012-07-24 11 views
2

J'ai ce boutonAndroid - bouton couleur de fond réduit la hauteur du bouton

<Button 
android:id="@+id/learn" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:layout_marginTop ="5dp" 
android:text="Hello StackOverflow" 
style="@style/home_page_buttons"  
/> 

et je suis en train de donner ce style

<style name="home_page_buttons"> 
    <item name="android:layout_marginLeft">15dp</item> 
    <item name="android:layout_marginRight">15dp</item> 

    <item name="android:textColor">@color/light_best_blue</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:color">@color/white</item> 
    <item name="android:background">@color/white</item> 

</style> 

Cette ligne:

<item name="android:background">@color/white</item> 

rend le backgrond blanc comme je voulais, mais pour une raison quelconque, il rétrécit la hauteur du bouton et le rend laid.

Une idée pourquoi cela se produit et comment arrêter cet effet secondaire?

Merci!

Répondre

3

ABDOU a raison, cela pourrait être une solution pour vous

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:startColor="#FFFFFF" android:endColor="#BBBBBB" 
      android:angle="270"/> 
    <stroke android:width="2dp" 
      android:color="#555555" /> 
    <corners android:bottomRightRadius="7dp" 
     android:bottomLeftRadius="5dp" 
     android:topLeftRadius="5dp" 
     android:topRightRadius="7dp"/>  
</shape> 

Créer ce que XML dans drawable et réglez ce paramètre sur votre BackgoundColor

+0

vous voulez dire mettre ce xml dans le répertoire où normalement j'aurais les images? – Genadinik

+0

oui, j'ai mis le mien dans drawable puis backgoundColor = "@ drawable/yourfile" pour l'arrière-plan du bouton –

1

lorsque vous faites style="@style/home_page_buttons" vous changez le style par défaut du bouton Android

si vous voulez le garder, juste faire une image de fond pour votre bouton

3

Le bouton par défaut a une hauteur minimale fixe, qui est égal à la hauteur de l'image sous-jacente. Ici, puisque vous utilisez une couleur, elle n'a pas de hauteur minimum. Donc, il prend la hauteur du texte. Pour votre cas, vous devrez régler la hauteur de vos boutons.

Une meilleure façon consiste à utiliser des images de bouton personnalisées.

+0

J'ai compris, mais je n'ai pas vraiment le moyen de faire des images rapides. Y a-t-il une autre façon de ne pas traiter les images? – Genadinik

+0

Vous pouvez utiliser des tirages de forme. http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape –

0

Je ne sais pas si cela est une version dépendante ou due à tous les changements récents Depuis que j'ai une version très récente d'Android Studio, mais je semble avoir au moins un certain degré de succès en restaurant l'espace supplémentaire en spécifiant l'attribut Padding.

simplement en ajoutant cet attribut:

android:padding="5dp" 

Le bouton retrouvera plus de cet espace, il a perdu. Je recommande de régler le nombre, ou éventuellement diviser l'attribut en ses 4 variantes directionnelles pour personnaliser l'espacement autant que vous voulez.

Cela semble également s'appliquer à EditText ainsi qu'aux boutons, car les deux semblent avoir le même problème.

Questions connexes