2

我有这个按钮

<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

4 回答 4

4

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

于 2012-07-24T16:36:18.390 回答
3

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

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

于 2012-07-24T16:33:51.097 回答
1

当你让style="@style/home_page_buttons"你改变android按钮的默认样式时

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

于 2012-07-24T16:30:34.590 回答
0

我不知道这是否取决于版本或由于最近的任何更改因为我有一个最新版本的 Android Studio,但通过指定 Padding 属性,我似乎至少在一定程度上成功恢复了额外的空间。

只需添加此属性:

android:padding="5dp"  

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

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

于 2016-10-12T20:35:57.433 回答