按钮样式给出了奇怪的结果

时间:2016-08-28 08:49:35

标签: java android android-button android-styles

我有一个简单的Button风格,比如

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
    <item name="colorButtonNormal">@color/colorPrimary</item>
    <item name="android:textColor">@color/white</item>
</style>

此时输出为此

enter image description here

似乎未应用样式且颜色未正确设置。当我将样式改为这样的

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
    <item name="android:background">@color/colorPrimary</item>
    <item name="android:textColor">@color/white</item>
</style>

我得到这样的东西

enter image description here

Thw Button看起来很疯狂,但是应用了这种风格 如何在第一张图片中将Button形状保留为shiwn并正确应用我的样式?

2 个答案:

答案 0 :(得分:0)

好的,我找到了一种方法来完成工作非常有希望

style.xml

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
        <item name="android:background">@drawable/btn_ripple</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:padding">10dp</item>
        <item name="android:minWidth">88dp</item>
        <item name="android:minHeight">36dp</item>
        <item name="android:layout_margin">3dp</item>
        <item name="android:elevation">1dp</item>
        <item name="android:translationZ">1dp</item>
    </style>

最后btn_ripple.xml是

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/btn_press">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <corners android:radius="2dp" />
            <solid android:color="@color/colorPrimary" />
        </shape>
    </item>
</ripple>

,结果是

enter image description here

问候

答案 1 :(得分:0)

我认为问题可能位于父母身上。

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">

我相信第二个片段设置按钮样式,覆盖父母。尝试删除父项,看看会发生什么。

<style name="AppTheme.Button">
    <item name="android:background">@color/colorPrimary</item>
    <item name="android:textColor">@color/white</item>
</style>