首页 > 解决方案 > 更改android按钮上的背景颜色

问题描述

我想让我的按钮具有我指定的颜色,但在其他方面看起来和行为仍然像标准按钮。所以我搜索并找到了这个。我遵循了那里给出的建议,但背景颜色保持标准灰色。知道我哪里出错了吗?

在我的styles.xml中我把这个:

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

我的颜色是这些:

<resources>
[...]
<color name="colorAccent">#ffffff</color>
<color name="colorButtonDark">#300a03</color>
</resources>

一个示例 Button 如下所示:

<Button
        android:text="exampleButton"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:id="@+id/button7" android:layout_marginTop="8dp"
        app:layout_constraintTop_toTopOf="@+id/guideline19" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent" 
        app:layout_constraintStart_toStartOf="@+id/guideline"
        android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginEnd="8dp" android:theme="@style/AppTheme.Button"/>

标签: androidandroid-studiothemesbackground-colorandroid-button

解决方案


尝试使用android.support.v7.widget.AppCompatButton而不是Button在 xml 中。

<android.support.v7.widget.AppCompatButton
    android:text="exampleButton"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:id="@+id/button7" android:layout_marginTop="8dp"
    app:layout_constraintTop_toTopOf="@+id/guideline19" 
    android:layout_marginBottom="8dp"
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintStart_toStartOf="@+id/guideline"
    android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
    android:layout_marginEnd="8dp" android:theme="@style/AppTheme.Button"/>

推荐阅读