即使指定了颜色,按钮的背景色调也不会改变

问题描述 投票:0回答:1

我的目标是创建一个带圆角的按钮。

我有一个按钮,其属性中包含此属性

android:background="@drawable/roundstyle"
,它应该将按钮的角更改为曲线。

这是我的

roundstyle.xml
activity_main.xml
中的按钮和我的
colors.xml

roundstyle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/our_lightGray" />
    <corners android:radius="25dp" />
</shape>

activity_main.xml

<Button
        android:id="@+id/currentstatusButton"
        android:layout_width="329dp"
        android:layout_height="98dp"
        android:background="@drawable/roundstyle"
        android:backgroundTint="@color/our_lightGray"
        android:text="Current Status"
        android:textColor="@color/black"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="460dp" />

颜色.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
    <color name="our_lightGray">#D9D9D9</color>
</resources>

但是,尽管我的

roundstyle.xml
具有纯色属性,并且我的按钮本身具有backgoundTint属性,但背景颜色仍然处于默认模式。 This is what it looks like right now.

我一直在网上寻找可以解决此问题的方法,但无济于事。

我尝试在 .xml 中添加 backgroudTint 属性和纯色,但颜色仍为默认值。

android android-studio background android-button
1个回答
0
投票

使用MaterialButton并设置

app:cornerRadius
,例如:

<com.google.android.material.button.MaterialButton
                android:id="@+id/currentstatusButton"
                android:layout_width="329dp"
                android:layout_height="98dp"
                android:backgroundTint="#D9D9D9"
                android:text="Current Status"
                android:textColor="@color/black"
                app:cornerRadius="25dp"
                tools:layout_editor_absoluteX="16dp"
                tools:layout_editor_absoluteY="460dp" />

结果如下:https://i.sstatic.net/nSYTa6BP.png

© www.soinside.com 2019 - 2024. All rights reserved.