当前位置: 首页 > 知识库问答 >
问题:

如何在颜色中添加渐变色。Xml

萧晓博
2023-03-14

我在用图书馆。在我展示我的图书馆使用的活动时,我使用了一种颜色来覆盖屏幕。看起来很酷。

但是由于一些原因,我决定使用渐变。我开发了美丽的渐变效果,如下所示

<?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>

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

现在我的问题是:

我可以直接定义颜色中的渐变色吗。xml文件。或者有没有办法将渐变色文件转换为可绘制的颜色,可以选择为一种颜色。因此,库可以应用我的自定义渐变颜色作为背景

请帮帮我。这将是一个很大的帮助。

编辑1:

对于那些想让我把它作为图片或其他任何东西的背景的人,让我跟你们分享这句话的一小部分,以便你们能更清楚地理解这个案例

.withColorResource(R.color.indigo)

这里我引用了Color.xml中定义的紫色,我可以将任何东西设置为背景,因为库只给我设置颜色的选项,如上所示。所以我做了一个渐变颜色的绘图,现在我想知道如何将渐变引用为颜色。

共有3个答案

别锐
2023-03-14

你可以使用btnSubmit。在onCreate()方法中使用setBackgroundResource(R.drawable.button_gradient)。

陈宜修
2023-03-14

例如按钮。这是可绘制的资源,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>

布局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"
               />

你可以为你的图像编写这样的代码。这也许对你有帮助。

申屠森
2023-03-14

Android中的颜色表示为Int(我的意思不是R.color.whiteInt-这只是颜色资源的id),这只是普通十六进制颜色的数字表示,例如#f00-

TLDR:渐变不是颜色,而是带有角度的一组颜色。

 类似资料:
  • 我想知道我们如何创建从图像中提取颜色的渐变叠加。 就像雷索主场球员一样。

  • 主要内容:JavaFX渐变颜色,线性梯度(LinearGradient),径向渐变,半透明渐变,反射循环渐变JavaFX渐变颜色 可以使用径向渐变使形状看起来三维(立体)。 梯度绘制可以在两种或更多种颜色之间内插,这给出形状的深度。JavaFX提供两种类型的渐变:径向渐变()和线性渐变()。 要在JavaFX中创建渐变颜色,需要设置五个属性值。如下 - 设置开始起点的第一个停止颜色。 将终点设置为终止停止颜色。 设置属性以指定是使用标准屏幕坐标还是单位平方坐标。 将循环方法设置为使用三个枚举:,

  • 我试图找出如何复制JavaFX梯度是如何在涉及透明度时插值/混合的。如果我尝试使用内置的方法在颜色之间插值的简单方法,我会得到完全不同的结果。正如您在这里看到的: 这两个渐变都是简单的[红色@0%,rgba(0,0,255,0)@50%,绿色@100%],但是蓝色在JavaFX渐变(顶部)中根本不可见,在朴素的方法(底部)中非常可见。颜色如何在渐变中插值的实际公式是什么,在哪里可以找到它(即什么类

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 “色板”面板 使用“色板”面板(窗口 > 颜色色板),可以创建和命名颜色、渐变或色调,并将它们快速应用于网站和个别设计元素。色板类似于段落样式和字符样式;对色板进行的任何更改将影响该色板应用于的所有对象。使用色板无需定位和调节各个个别的对

  • 问题内容: 我想将低于颜色的线性渐变添加到Material-UI Chip作为背景色。可能吗? 我正在使用Material-UI v0.18.7。 问题答案: 只需将设置为所需的样式即可: 请注意,这是一个返回图像而不是颜色的CSS函数。因此,您必须设置属性(使用图像)而不是属性(仅使用颜色)。这是来自Mozilla文档的引文,对此进行了更为详尽的解释: 由于s属于数据类型,因此只能在可以使用s的

  • 问题内容: 是否有生成器,或生成这种文本的简便方法,而无需定义 每个 字母 所以像这样: 但是不是用 彩虹 色而是用其他颜色(例如,白色到灰色/浅蓝色渐变等)生成的,我为此找不到简单的解决方案。有什么办法吗? 问题答案: 我不完全了解 Stop的 工作原理。但是我有一个 渐变文本 示例。也许这会帮到您! _您也可以根据需要为渐变添加更多颜色,或者从颜色生成器中选择其他颜色