Android无法设置默认按钮样式

时间:2015-05-26 12:13:56

标签: android android-theme android-styles

我正在尝试为我的应用程序中的所有按钮设置默认背景。问题是android:buttonStyle项目没有接缝来做任何事情。

如果我将@style/Button的样式设置为任何按钮,则会使用该样式,但我希望这种情况发生在所有按钮上,这些按钮没有明确提供样式。

我的themes.xml文件是:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style
        name="BBTheme"
        parent="@android:style/Theme.Holo.Light.DarkActionBar">

        <item name="android:windowBackground">@drawable/app_background</item>
        <item name="android:actionBarStyle">@style/ActionBar</item>
        <item name="android:buttonStyle">@style/Button</item>
    </style>
</resources>

和我的styles.xml文件是:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- ActionBar styles -->
    <style
        name="ActionBar"
        parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">

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

    <!-- Button styles -->
    <style
        name="Button"
        parent="@android:style/Widget.Button">

        <item name="android:textColor">@android:color/white</item>
        <item name="android:background">@drawable/button_background</item>
    </style>

</resources>

1 个答案:

答案 0 :(得分:-1)

在drawable文件夹中添加buttonstyles.xml调用From Button,可以修改按钮的样式。

<Button
                            android:id="@+id/button6"
                            style="?android:attr/buttonStyleSmall"
                            android:layout_width="140dp"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="15dp"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:layout_marginTop="15dp"
                            android:background="@drawable/buttonstyles"
                            android:text="Cancel"
                            android:textColor="#fff" />

buttonstyles.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#99d9fa"
        android:endColor="#99d9fa"
        android:angle="45"/>
    <padding android:left="3dp"
        android:top="3dp"
        android:right="3dp"
        android:bottom="3dp" />
    <corners android:radius="15dp" />

</shape>