默认buttonStyle

时间:2014-02-24 14:18:02

标签: android android-layout button

我有以下代码用于“默认”按钮样式,该样式保存为drawable(在drawable文件夹中)...

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true">
        <shape>
            <gradient
                android:startColor="@color/yellow"
                android:centerColor="@color/orange"
                android:endColor="@color/yellow"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/black" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item android:state_pressed="true">
        <shape>
            <gradient
                android:startColor="@color/green"
                android:centerColor="@color/lime"
                android:endColor="@color/green"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/black" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item>
        <shape>
            <gradient
                android:startColor="@color/white"
                android:centerColor="@color/silver"
                android:endColor="@color/white"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/black" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

我非常简单的样式文件是......

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo.Light">
        <item name="android:textColor">@color/brown</item>
        <item name="android:buttonStyle">@drawable/button_style</item>
    </style>
</resources>

我的颜色文件设置如此......

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="black">#000000</color>
    <color name="white">#ffffff</color>
    <color name="red">#ff0000</color>
    <color name="lime">#00ff00</color>
    <color name="green">#008000</color>
    <color name="blue">#0000ff</color>
    <color name="silver">#c0c0c0</color>
    <color name="cyan">#00ffff</color>
    <color name="magenta">#ff00ff</color>
    <color name="orange">#ffa500</color>
    <color name="yellow">#ffff00</color>
    <color name="maroon">#800000</color>
    <color name="blue_gray">#98afc7</color>
    <color name="pink">#faafbe</color>
    <color name="brown">#a52a2a</color>
</resources>

但是,我的按钮只显示为带有棕色文字的白色。没有轮廓,形状,渐变或任何东西。任何人都能看到我明显错过的东西吗?它曾用于以前的项目(我不再拥有),但现在我不能为我的生活看到为什么它没有正确显示它们。

提前感谢,一如既往。

1 个答案:

答案 0 :(得分:0)

你应该使用parent-android:style / Widget.Button来应用你的风格,如下所示,

<style name="MyButtonStyle" parent="android:style/Widget.Button">  
  <item name="android:background">@drawable/button_style</item>
  <item name="android:textColor">@color/brown</item>
</style>

然后将其应用于您的主题,

 <style name="AppTheme" parent="android:Theme.Holo.Light">         
     <item name="android:buttonStyle">>@style/MyButtonStyle</item>
 </style>

让我知道它是否有效。