渐变颜色未应用于android studio中的按钮

mznpcxlj  于 2022-11-20  发布在  Android
关注(0)|答案(4)|浏览(174)

我已经在drawable中创建了gradient_file.xml

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

    <gradient
        android:startColor="@color/white"
        android:endColor="@color/black"
        android:angle="45"
        android:type="linear" />
</shape>

我已将其应用于布局中按钮

<Button
    android:id="@+id/button2"
    android:layout_width="0dp"
    android:layout_height="100dp"
    android:background="@drawable/gradient_file"
    android:text="Button"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.243" />

这是我得到的结果:

颜色应该是不同的。我已经重建了项目,但颜色没有改变预览也没有在模拟器。

m1m5dgzv

m1m5dgzv1#

它将被themes.xml文件中的颜色覆盖。请转到您的themes.xml文件(在res/values/themes中)并替换

<item name="colorPrimary">@color/purple_500</item>

<item name="colorPrimary">@null</item>

以查看您的渐变效果。

EDIT:我不确定为什么会这样......可能是新版android studio的一个bug?但是我可以让你的按钮渐变与这个解决方案一起工作

axr492tv

axr492tv2#

在themes.xml中,将

<style name="Theme.YourApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">

<style name="Theme.YourApp" parent="Theme.AppCompat.DayNight.DarkActionBar">

然后提交的可绘制对象将工作!

l0oc07j2

l0oc07j23#

我还使用以下内容解决了此问题转到themes.xml并使用以下内容更改主颜色,@null

ukxgm1gy

ukxgm1gy4#

我在按钮属性中解决了这个问题:

app:backgroundTint="@null"

相关问题