扩展ButtonBarButtonStyle以更改选择颜色

时间:2013-12-06 19:12:51

标签: android android-layout android-ui android-button

我正在尝试扩展android:attr / buttonBarButtonStyle以更改选择的颜色,目前它默认为标准ICS蓝色,我无法弄清楚Id需要更改哪些属性才能覆盖以实现所需的结果

我正试图像我这样创作自己的风格:

  <style name="NavButton" parent="android:attr/buttonBarButtonStyle">
      <item name="android:background">@color/Green</item> <!-- this is the foreground-->
  </style>

1 个答案:

答案 0 :(得分:1)

很简单,在@drawable中创建XML button_style.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:state_focused="true" >
        <shape>
            <solid
                android:color="#3399cc"/>
            <stroke
                android:width="3dp"
                android:color="#000000" />
            <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>
            <solid
                android:color="#999999"/>
            <stroke
                android:width="7dp"
                android:color="#3399cc" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item>        
        <shape>
            <solid
                android:color="#3399cc"/>
            <stroke
                android:width="3dp"
                android:color="#3399cc" />

            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

并在视野中:

android:background="@drawable/button_urban"