资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android渐变颜色,Android渐变色

android 怎样设置自定义线颜色渐变效果

1.在res/drawable/里新建XML文件(background_color.xml)

成都创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元宁波做网站,已为上家服务,为宁波各地企业和个人服务,联系电话:13518219792

内容:

?xml version="1.0" encoding="UTF-8"?

shape xmlns:android=""

gradient

android:startColor="#000000"

android:endColor="#FFFFFF"

android:angle="90"

/

/shape

备:angle(角度)的值只可为:45 90 135 180等45的倍数

2.在res/layout里使用时:

颜色设置段:Android:src="@drawable/background_color

android 从一个颜色渐变到另外一个颜色

画图的话

LinearGradient lg = new LinearGradient(statrX, statrY, statrX,

stopY, new int[] { Color.rgb(5, 254, 4),

Color.rgb(189, 254, 0), Color.rgb(255, 142, 4),

Color.rgb(248, 0, 1), Color.rgb(148, 0, 78),

Color.rgb(121, 2, 43) }, new float[] { 0, 0.2f, 0.4f,

0.6f, 0.8f, 1.0f }, TileMode.MIRROR); 

//这个是y轴上的变化从绿色到橘黄色到大红色到黑红色。。。

//float数组相当于把Y轴平分为5段

paint.setShader(lg);

线程的话

Handler handler=new Handler(){

public void handleMessage(android.os.Message msg) {

switch (msg.what) {

case 100:

textView.setTextColor(colors[msg.arg1]);//颜色的数组,和下面的for的次数要等

break;

default:

break;

}

};

};

private void huatu() {

// TODO Auto-generated method stub

new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

try {

for (int i = 0; i  5; i++) {

Thread.sleep(200);

Message message=new Message();

message.what=100;

message.arg1=i;

handler.sendMessage(message);

}

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}).start();

}

Android绘图之RadialGradient 放射渐变(11)

LinearGradient 和 SweepGradient,这次讲解RadialGradient;

RadialGradient被称为放射渐变,就是从中心向外圆形渐变。

两个构造函数,第一个构造函数可以实现两种颜色的渐变,第二个构造函数可以实现多个颜色的渐变。

参数说明:

centerX ,centerY:shader的中心坐标,开始渐变的坐标。

radius:渐变的半径,

centerColor,edgeColor:中心点渐变颜色,边界的渐变颜色,

colors:渐变颜色数组,

stoops:渐变位置数组,类似扫描渐变的positions数组,取值[0,1],中心点为0,半径到达位置为1.0f,

tileMode:shader未覆盖以外的填充模式。

构造函数:

RadialGradient(float centerX, float centerY, float radius, @ColorInt int centerColor, @ColorInt int edgeColor, @NonNull TileMode tileMode);

提供中心坐标,半径,颜色值,TileMode

Stops数组取值为[0-1],一般为从小到大,表示每个位置对应的颜色值,如果stops不为null,colors必须和stops一一对应,否则可能导致崩溃,如果stops为null,各颜色从中心到边界线性渐变。

stops数组为null,四种颜色线性渐变:

stops数组不为null:

如果数组多余颜色个数:

大致做个小例子,如果需要线上使用需要考虑很多问题,类似ondraw最好不要声明对象等:

替换为多颜色 private int[] colors = {Color.YELLOW, Color.RED, Color.BLUE, Color.GREEN};

android绘图之Paint(1)

android绘图之Canvas基础(2)

Android绘图之Path(3)

Android绘图之drawText绘制文本相关(4)

Android绘图之Canvas概念理解(5)

Android绘图之Canvas变换(6)

Android绘图之Canvas状态保存和恢复(7)

Android绘图之PathEffect (8)

Android绘图之LinearGradient线性渐变(9)

Android绘图之SweepGradient(10)

Android绘图之RadialGradient 放射渐变(11)

Android绘制之BitmapShader(12)

Android绘图之ComposeShader,PorterDuff.mode及Xfermode(13)

Android绘图之drawText,getTextBounds,measureText,FontMetrics,基线(14)

Android绘图之贝塞尔曲线简介(15)

Android绘图之PathMeasure(16)

Android 动态修改渐变 GradientDrawable

android颜色渐变如何实现从四周往中心渐变 或者从中心往四周渐变 都行,不是 从左往右

android 颜色渐变是指通知xml或者java代码,设置相关参数,是界面的某个指定的视图显示成从开始位置的颜色,逐渐过度到结尾位置的颜色的技术。

android颜色渐变的分类有:

LinearGradient线性渐变

RadialGradient镜像渐变

SweepGradient角度渐变

一、LinearGradient线性渐变

顾名思义,是只颜色在一个直线方向上逐渐改变。

文件代码:

?xml version="1.0" encoding="utf-8"?

shape xmlns:android=""

android:shape="oval" 

gradient

android:endColor="#0000FF"

android:startColor="#FF0000"

android:type="linear" /

/shape

效果:

二、RadialGradient镜像渐变

镜像渐变就是楼主问的问题了:只要将type设置为oval,然后增加

  android:gradientRadius

属性。

楼主特殊要求是圆形的话,需要在shape里面添加

android:shape="oval"

文件代码:

?xml version="1.0" encoding="utf-8"?

shape xmlns:android=""

android:shape="oval" 

gradient

android:endColor="#0000FF"

android:gradientRadius="100%p"

android:startColor="#FF0000"

android:type="linear" /

/shape

效果:

三、 SweepGradient角度渐变

是指以中心点为射线的一个断点,顺时针旋转所扫过的区域,颜色逐渐改变的一种渐变方式

?xml version="1.0" encoding="utf-8"?

shape xmlns:android="" 

gradient

android:endColor="#0000FF"

android:startColor="#FF0000"

android:type="sweep" /

/shape

效果图:

android怎么设置字体渐变色 不是背景渐变

●使用XML的方式为背景添加渐变效果

1、在res/drawable文件夹里添加一个jbshape.xml文件,然后写入如下代码:

?xml version="1.0" encoding="utf-8"?

gradient

android:angle="270"

android:centerColor="#00FFFF"

android:centerX="0.5"

android:centerY="0.5"

android:endColor="#666666"

android:startColor="#0099FF" /

padding

android:bottom="7dp"

android:left="7dp"

android:right="7dp"

android:top="7dp" /

corners android:radius="4dp" /

/shape

说明:

(1)shape节点配置的是图形的形式,主要包括方形、圆形等,上边代码为方形。

(2)gradient节点主要配置起点颜色、终点颜色及中间点的颜色、坐标、渐变效果(0,90,180从左到右渐变,270从上到下渐变)默认从左到右。

(3)corners节点配置四周圆角的半径。

android 怎么自定义颜色渐变

1.在res/drawable/里新建XML文件(background_color.xml)

内容:

?xml version="1.0" encoding="UTF-8"?

shape xmlns:android=""

gradient

android:startColor="#000000"

android:endColor="#FFFFFF"

android:angle="90"

/

/shape

备:angle(角度)的值只可为:45 90 135 180等45的倍数

2.在res/layout里使用时:

颜色设置段:Android:src="@drawable/background_color


分享文章:android渐变颜色,Android渐变色
标题来源:http://www.cdkjz.cn/article/dsdegei.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220