Android按钮没有带颜色主题的阴影

时间:2017-12-16 01:01:48

标签: android button android-theme android-styles material

我使用以下样式来为按钮着色:

<style name="AppTheme.PrimaryButton">
    <item name="android:textColor">@color/white</item>
    <item name="colorButtonNormal">?attr/colorPrimary</item>
</style>

然后我在我的按钮上使用它:

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:theme="@style/AppTheme.PrimaryButton" />

这很棒,但现在我想修改我的样式以删除按钮后面出现的阴影。

我想修改我的风格而不是按钮本身。

我试图从无边框按钮继承:

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

没有运气。

我还尝试在样式中设置按钮样式:

<style name="AppTheme.PrimaryButton">
    <item name="android:textColor">@color/white</item>
    <item name="colorButtonNormal">?attr/colorPrimary</item>
    <item name="android:buttonStyle">?attr/borderlessButtonStyle</item>
</style>

再次没有运气。

有没有办法可以保持我的色彩并消除我风格的阴影?

1 个答案:

答案 0 :(得分:0)

不确定这是最好的方法,但我能够实现我想要的目标:

addDependency

然后按下按钮:

<style name="NoShadowButton" parent="Widget.AppCompat.Button.Colored">
    <item name="android:stateListAnimator">@null</item>
</style>

<style name="PrimaryButton">
    <item name="colorAccent">?attr/colorPrimary</item>
    <item name="android:buttonStyle">@style/NoShadowButton</item>
</style>