Articles of 渐变

Android径向渐变

我有以下可绘制设置为LinearLayout背景: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:tileMode="repeat" android:dither="true" android:src="@drawable/bg"/> </item> <item> <shape android:shape="rectangle"> <gradient android:startColor="#ffff0000" android:endColor="#ff00ff00" android:centerX="50%" android:centerY="50%" android:gradientRadius="50%" android:type="radial"/> </shape> </item> </layer-list> 根据文档 ,gradientRadius可以设置为窗口/父级大小的百分比。 不幸…它不工作。 半径是0.我做错了什么? 或者Android有什么问题? 我需要径向渐变填充整个屏幕。 什么是解决方法?

如何以编程方式获取Android上的渐变颜色列表

在Android我想画一个PieChartdynamic数量的派。 每个饼图应该有不同的颜色。 例如,我想有一个从浅棕色到深棕色的渐变。 如果我需要画五个馅饼,那么从这个渐变的开始到结束,我需要五个馅饼。 我怎样才能做到这一点与Android框架的Java? 我发现我可以为一条线创build一个LinearGradient,即: LinearGradient lg = new LinearGradient(1, 1, 5, 5, toRGB("lightbrown"), toRGB("darkbrown"), TileMode.REPEAT); 但是我没有find从这一行获取颜色的函数,即: // for the five needed RGB colors from the gradient line lg.getRGBColor(1, 1); lg.getRGBColor(2, 2); lg.getRGBColor(3, 3); lg.getRGBColor(4, 4); lg.getRGBColor(5, 5); 你有什么想法,我怎么能得到这个? 谢谢!

如何animation渐变?

如何animation从颜色#1到颜色#2的渐变? 类似的东西 我打算把它作为单位的健康吧(所以,这将是有限的animation开始与绿色和红色结束)

android-如何使一个高品质的4色渐变?

Android中可以使用2或3种颜色进行gradient 。 现在有可能做出4色的高品质渐变? 我强调质量,因为有一些方法可以将两个渐变放在一起,但我认为不会产生高质量的效果…

LinearGradient中心animation

我想要对线性渐变的中心进行animation处理,因此开始时整个drawable是color1,最后整个drawable是color2,渐变的中心从左到右移动。 GradientDrawable gd = new GradientDrawable( GradientDrawable.Orientation.LEFT_RIGHT, new int[] {color1, color2}); gd.setCornerRadius(0f); gd.setGradientCenter(x, 0); view.setBackgroundDrawable(gd); 问题是setGradientCenter没有任何区别。 根据这个答案https://stackoverflow.com/a/14383974/1395697有setGradientCenter()的问题,但在这个答案的解决scheme不适合我,因为我改变了onTouch()中的渐变,当用户滑动他的手指在视图上,所以它需要非常快。 有没有办法做到这一点? 我想做这样的事情(所有触摸的东西都很好,但不是animation的渐变):

Android:AppBarLayout渐变背景

我试图实现一个带有渐变背景的工具栏(从黑色到透明)。 工具栏位于一个AppBarLayout里面,因为我想让工具栏在滚动屏幕的时候从屏幕上滑下来(一直滚动滚动标志)。 这对于棒棒糖的版本来说是完美的,看起来像这样: 但在棒棒糖这是什么显示: 我尝试了工具栏和appbarlayout上的其他背景组合,以获得工具栏具有渐变背景,但一切都产生相同的结果。 我试图寻找类似的问题,没有发现。 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/gradient"> <android.support.v7.widget.Toolbar android:layout_height="wrap_content" android:layout_width="match_parent" android:background="@android:color/transparent" app:layout_scrollFlags="scroll|enterAlways"> … </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> </android.support.design.widget.CoordinatorLayout>

如何在Canvas上绘制颜色变化的渐变颜色?

我需要绘制我的canvas的背景颜色与阴影/渐变应用,但每个onDraw电话我想潜在地改变颜色。 我遇到了麻烦,而不是每个onDraw调用创build一个新的对象。 有人有主意吗? 如果我使用drawPaint()并为我的paint设置了一个新的着色器,那么我创build了一个新的着色器对象,如果我创build了一个新的GradientDrawable(),我也有。 我想避免GC。 我以为我可以重用一个GradientDrawable()对象,并调用.setColor()方法,但这只是重置任何关联它的渐变数据,并绘制为纯色的drawable。 任何人?

定义渐变/形状/angular的XML父types

我怎样才能定义一个容易重用的基础形状(或梯度,或angular)在XML? 我有十几个可绘制的渐变,将是除了开始和结束颜色以外。 我希望能够在其他地方定义相同的东西,并为每个不同的渐变使用一个XML文件,只定义开始和结束的颜色。 那可能吗? 这是基础: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient xmlns:android="http://schemas.android.com/apk/res/android" android:type="linear" android:angle="270" android:startColor="#e1ffffff" android:endColor="#e100ff00"> <stroke android:width="1dp" android:color="#ff000000" /> <corners android:radius="4dp" /> </gradient> </shape> 然后,我想在每个drawable的XML文件中覆盖startColor和endColor(也许还有拐angular半径或任何其他属性)。 我尝试使用父和样式,但他们都没有使用任何属性。 例如: <style name="base_gradient"> <item name="android:angle">270</item> <item name="android:type">linear</item> <item name="android:startColor">#e1ffffff</item> <item name="android:endColor">#e100ff00</item> </style> 然后drawable看起来像: <gradient style="@style/base_gradient" /> 这没有用。 我试着把上面的代码放在它自己的XML文件中,然后为每个可绘制的代码执行这个操作。 <gradient parent="@drawable/base_gradient" /> 那也行不通。 有没有办法做到这一点?

如何将Android XML Drawable保存,导出或转换为PNG图像文件?

我有一个我非常喜欢的渐变,但是我使用XML绘制了它: <gradient android:startColor="#DD181C18" android:endColor="#809C7D5A" android:angle="90"/> 什么是一个简单的方法来创build一个PNG或类似的东西? 我真正想要的是:一个工具,可以和使用该工具使用#aarrggbb格式的梯度,因为它是inputalpha /颜色(90度angular,一般angular度,将是一个加号)。 谢谢你的帮助。 编辑:哦,哦! 我完全意识到ImageMagick应该能够做到这一点。 我会尽快发布我的答案的代码,除非有人想打败我,并得到整个赏金!

Imageview将颜色filter设置为渐变

我有一个白色的图像,我想用渐变色。 而不是生成一个图像,每个颜色与特定的渐变,我想这样做的代码(而不是xml)。 要改变图像的颜色,我使用 imageView.setColorFilter(Color.GREEN); 这工作正常。 但是,如何应用渐变颜色而不是纯色? LinearGradient不起作用,因为setColorFilter不能应用于Shader对象。 编辑 :这是我有的图像: 这就是我要的: 这就是我得到的: