首先在这里发布。请原谅我,以防这些显而易见。我完全是xml的新手
我想为我正在开发的应用程序实现我在Adobe Illustrator和Photoshop中创建的设计。我知道你可以使用XML和开始/中心/结束颜色作为基本渐变。但我想创造一个完全符合我设计的,有尽可能多的颜色和自定义的间隔,他们开始和结束。我在另一个线程中找到了这个解决方案:
ShapeDrawable.ShaderFactory shaderFactory = new ShapeDrawable.ShaderFactory() {
@Override
public Shader resize(int width, int height) {
LinearGradient linearGradient = new LinearGradient(0, 0, width, height,
new int[] {
0xFF1e5799,
0xFF207cca,
0xFF2989d8,
0xFF207cca }, //substitute the correct colors for these
new float[] {
0, 0.40f, 0.60f, 1 },
Shader.TileMode.REPEAT);
return linearGradient;
}
};
PaintDrawable paint = new PaintDrawable();
paint.setShape(new RectShape());
paint.setShaderFactory(shaderFactory);
如何包含通过值/颜色手动定义的颜色?它不允许我使用@color/darkgrey等,因为它们不是整数。此外,我不能把它们放在六边形代码中,原因可能与此相同。
我想做新的int[]{@color/A,@color/B,…}
还有第二个问题:浮动似乎定义了使用颜色的自定义间隔。在他的例子中,他有4种int颜色和4个float值——但这只定义了我所理解的3个间隔(?):[0,0.4][0.4,0.6][0.6,1]的百分比。还是以不同的方式工作?
如有必要,我会详细说明。
@本的答案很完整,回答了你的大部分问题。回答最后一点
此外,我不能把它们放在六边形代码中,原因可能与此相同。
在Java中,在“0x”前面加上一个十六进制符号。颜色表示为ARGB(Alpha/R/G/B),因此
int red = 0xffff0000, blue = 0xff0000ff, green = 0xff00ff00;
int red_half_alpha = 0x80ff0000;
是正确的。
如何包含通过值/颜色手动定义的颜色?
如果你想在java中使用颜色资源值,你需要访问一个Context
对象或它的一个子类(如活动
)
int color = ContextCompat.getColor(context, R.color.my_color_name);
浮动似乎定义了使用颜色的自定义间隔
不完全是。值定义了从0
到1
放置每种颜色的点。因此,如果您有四种颜色,您需要四个位置(第一个和最后一个应该是0和1)。
考虑到这一点,你可以这样写:
int[] colors = new int[] {
ContextCompat.getColor(context, R.color.color_one),
ContextCompat.getColor(context, R.color.color_two),
ContextCompat.getColor(context, R.color.color_three),
ContextCompat.getColor(context, R.color.color_four);
};
float[] positions = new float[] {
0, 0.33, 0.67, 1
};
LinearGradient linearGradient =
new LinearGradient(0, 0, width, height, colors, positions, Shader.TileMode.REPEAT);
这将从以下位置产生梯度:
color\u one
到color\u two
at0
到0.33
color\u two
到color\u two
在0.33
到0.67
color\u three
到color\u three
at0.67
到1
主要内容:JavaFX渐变颜色,线性梯度(LinearGradient),径向渐变,半透明渐变,反射循环渐变JavaFX渐变颜色 可以使用径向渐变使形状看起来三维(立体)。 梯度绘制可以在两种或更多种颜色之间内插,这给出形状的深度。JavaFX提供两种类型的渐变:径向渐变()和线性渐变()。 要在JavaFX中创建渐变颜色,需要设置五个属性值。如下 - 设置开始起点的第一个停止颜色。 将终点设置为终止停止颜色。 设置属性以指定是使用标准屏幕坐标还是单位平方坐标。 将循环方法设置为使用三个枚举:,
我有个小问题。 我创建了自定义gradle插件(独立插件),并将它从mavenlocal包含在我的简单项目中。它正在工作,但我不知道如何在我的插件中设置系统属性。更多细节:在我的插件中,在任务中,我想设置系统属性(system.setproperty(key,value))并从我的主应用程序中获取它的属性,例如在main类main方法中,但main方法不使用此属性 当我在构建中创建任务时。grad
问题内容: 是否有生成器,或生成这种文本的简便方法,而无需定义 每个 字母 所以像这样: 但是不是用 彩虹 色而是用其他颜色(例如,白色到灰色/浅蓝色渐变等)生成的,我为此找不到简单的解决方案。有什么办法吗? 问题答案: 我不完全了解 Stop的 工作原理。但是我有一个 渐变文本 示例。也许这会帮到您! _您也可以根据需要为渐变添加更多颜色,或者从颜色生成器中选择其他颜色
本文向大家介绍Android自定义带水滴的进度条样式(带渐变色效果),包括了Android自定义带水滴的进度条样式(带渐变色效果)的使用技巧和注意事项,需要的朋友参考一下 一、直接看效果 二、直接上代码 1.自定义控件部分 3. 布局文件部分 4.Activity部分 以上所述是小编给大家介绍的Android自定义带水滴的进度条样式(带渐变色效果),希望对大家有所帮助,如果大家有任何疑问请给我留言
渐变色编辑器 渐变色编辑器可以设置粒子中某个属性随时间变化的颜色,渐变色编辑器的界面如下图 渐变色编辑器可以进行如下操作: Mode可以选择两种模式,Blend模式会按照当前时刻相邻的两个关键帧进行插值得到当前帧的颜色,Fixed模式会直接使用当前时刻的前一个关键帧颜色。 点击色带上方的空白处可以插入一个 alpha 关键帧,点击色带下方的空白处可以插入一个 rgb 关键帧。 拖动关键帧左右移动可
本文向大家介绍android自定义进度条渐变圆形,包括了android自定义进度条渐变圆形的使用技巧和注意事项,需要的朋友参考一下 在安全卫生上,经常看到有圆形的进度条在转动,效果非常好看,于是就尝试去实现一下,具体实现过程不多说了,直接上效果图,先炫耀下。 效果图: 分析:比较常见于扫描结果、进度条等场景 利用canvas.drawArc(RectF oval, float startAngle