Android - 按钮背景颜色缩小按钮的高度

时间:2012-07-24 16:03:29

标签: android android-layout

我有这个按钮

<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"    
/>   

我试图给它这种风格

<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>

这一行:

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

根据我的需要使背景变白,但由于某种原因,它会缩小按钮的高度并使其变得难看。

知道为什么会这样,以及如何阻止这种副作用?

谢谢!

4 个答案:

答案 0 :(得分:3)

默认按钮具有固定的最小高度,该高度等于基础图像的高度。在这里,由于您使用的是颜色,因此它没有最小高度。因此,它占用了文本的高度。对于您的情况,您将必须修复按钮的高度。

更好的方法是使用自定义按钮图像。

答案 1 :(得分:3)

ABDOU是对的,这可能是你的解决方案

<?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>

XML中将其设为drawable,并将其设置为BackgoundColor

答案 2 :(得分:1)

当您创建style="@style/home_page_buttons"时,您更改了android按钮的默认样式

如果你想保留它,只需为你的按钮制作背景图像

答案 3 :(得分:0)

我不知道这是依赖于版本还是由于最近的任何更改因为我有一个非常新版本的Android Studio,但我似乎至少有一定程度的成功通过指定Padding属性来恢复额外的空间。

只需添加此属性:

android:padding="5dp"  

按钮将重新获得失去的大部分空间。我建议调整数字,或者可能将属性划分为4个方向变量,以便根据需要自定义间距。

这似乎也适用于EditText和Buttons,因为两者似乎都有同样的问题。