android – 如何在颜色中添加渐变颜色. XML

我正在使用图书馆.我正在展示我的库所使用的活动,我正在使用一种颜色来掩盖屏幕的颜色.看起来很酷.

但由于某些原因,我决定使用渐变.我已经开发出漂亮的渐变效果,如下所示

<?xml version="1.0" encoding="UTF-8"?>
    <gradient
        android:angle="90"
        android:endColor="#555994"
        android:centerColor="#b5b6d2"

        android:startColor="#555994"
        android:type="linear" />

    <corners
        android:radius="0dp"/>

</shape>

它看起来不错.但问题是我使用的库只接受颜色或颜色资源.我没有其他方法可以改变,库正在显示它自己的活动,我只需要传递将出现在活动上的颜色.

现在我的问题是:

Can I define directly the gradient color in the color.xml file. Or is
there any way to convert the gradient color file which is in draw able
, can be pick as a color. so that , the library can apply my custom
gradient color as a back ground

请帮我 .这将是一个帮助.

编辑1:

对于那些说我将其添加为图像背景或任何其他内容的人,让我分享一下该行的一小部分,以便您能够更清楚地理解案例

.withColorResource(R.color.indigo)

这里我引用了Color.xml中定义的紫色,我可以将任何东西设置为背景,因为库只能让我选择如上所示设置颜色.
所以我已经绘制了渐变色,现在我想要如何将渐变作为颜色引用.

最佳答案 按钮的示例.

这是可绘制的资源,my_button_gradient.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <gradient
                android:angle="180"
                android:centerColor="@color/flat_silver_sand"
                android:endColor="@color/flat_white_smoke"
                android:startColor="@color/flat_white_smoke" />
        </shape>
    </item>
</layer-list>

如果你想使用选择器; btnselector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/transparent_black_10" android:state_focused="true" android:state_pressed="false" />
    <item android:drawable="@drawable/my_button_gradient" android:state_focused="true" android:state_pressed="true" />
    <item android:drawable="@drawable/my_button_gradient" android:state_focused="false" android:state_pressed="true" />
</selector>

layout.xml;

 <Button
 android:id="@+id/btn"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_alignParentEnd="true"
 android:layout_alignParentRight="true"
 android:layout_alignParentTop="true"    
 android:background="@drawable/btnselector" 
 android:textColor="#34495E"
               />

您可以为您的图像编写这样的代码.这可能对你有帮助.

点赞