Android渐变,android渐变色背景

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上面做出根据形状来渐变的效果

shape Android:shape=["rectangle" | "oval" | "line" | "ring"] 其中rectagle矩形,oval椭圆,line水平直线,ring环形

shape中子节点的常用属性:

gradient 渐变

Android:startColor 起始颜色

Android:endColor 结束颜色

Android:angle 渐变角度,0从左到右,90表示从下到上,数值为45的整数倍,默认为0;

Android:type 渐变的样式 liner线性渐变 radial环形渐变 sweep solid 填充

Android:color 填充的颜色

stroke 描边

Android:width 描边的宽度

Android:color 描边的颜色

Android:dashWidth 表示'-'横线的宽度

Android:dashGap 表示'-'横线之间的距离

corners 圆角

Android:radius 圆角的半径 值越大角越圆

Android:topRightRadius 右上圆角半径

Android:bottomLeftRadius 右下圆角角半径

Android:topLeftRadius 左上圆角半径

Android:bottomRightRadius 左下圆角半径

padding 填充

android:bottom="1.0dip" 底部填充

android:left="1.0dip" 左边填充

android:right="1.0dip" 右边填充

android:top="0.0dip" 上面填充

Selector

根据不同的选定状态来定义不同的现实效果 分为四大属性:

android:state_selected 是选中

android:state_focused 是获得焦点

android:state_pressed 是点击

android:state_enabled 是设置是否响应事件,指所有事件

android:state_window_focused 默认时的背景图片 引用位置:res/drawable/文件的名称.xml

使用的方法:

Java代码中:R.drawable.文件的名称 XML中:Android:background="@drawable/文件的名称"

示例:

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

selector xmlns:Android=""

!-- 默认时的背景图片--

item Android:drawable="@drawable/pic1" /

!-- 没有焦点时的背景图片 --

item

Android:state_window_focused="false"

android:drawable="@drawable/pic_blue"

/

!-- 非触摸模式下获得焦点并单击时的背景图片 --

item

Android:state_focused="true"

android:state_pressed="true"

android:drawable= "@drawable/pic_red"

/

!-- 触摸模式下单击时的背景图片--

item

Android:state_focused="false"

Android:state_pressed="true"

Android:drawable="@drawable/pic_pink"

/

!--选中时的图片背景--

item

Android:state_selected="true"

android:drawable="@drawable/pic_orange"

/

!--获得焦点时的图片背景--

item

Android:state_focused="true"

Android:drawable="@drawable/pic_green"

/

/selector

layer-list(多个shape)

将多个图片或上面两种效果按照顺序层叠起来

示例:

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

layer-list xmlns:android=""

item

bitmap android:src="@drawable/android_red"

android:gravity="center" /

/item

item android:top="10dp" android:left="10dp"

bitmap android:src="@drawable/android_green"

android:gravity="center" /

/item

item android:top="20dp" android:left="20dp"

bitmap android:src="@drawable/android_blue"

android:gravity="center" /

/item

/layer-list

感觉很像多个drawable

三者可以结合使用

selector xmlns:android=""

item android:state_pressed="true"

layer-list

item android:bottom="8.0dip"

shape

solid android:color="#ffaaaaaa" /

/shape

/item

item

shape

corners android:bottomLeftRadius="4.0dip" android:bottomRightRadius="4.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" /

solid android:color="#ffaaaaaa" /

padding android:bottom="1.0dip" android:left="1.0dip" android:right="1.0dip" android:top="0.0dip" /

/shape

/item

item

shape

corners android:bottomLeftRadius="3.0dip" android:bottomRightRadius="3.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" /

solid android:color="@color/setting_item_bgcolor_press" /

/shape

/item

/layer-list

/item

item

layer-list

item android:bottom="8.0dip"

shape

solid android:color="#ffaaaaaa" /

/shape

/item

item

shape

corners android:bottomLeftRadius="4.0dip" android:bottomRightRadius="4.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" /

solid android:color="#ffaaaaaa" /

padding android:bottom="1.0dip" android:left="1.0dip" android:right="1.0dip" android:top="0.0dip" /

/shape

/item

item

shape

corners android:bottomLeftRadius="3.0dip" android:bottomRightRadius="3.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" /

solid android:color="@color/setting_item_bgcolor" /

/shape

/item

/layer-list

/item

/selector

android怎么用paint实现图像的渐变出现

在android.graphics中提供了有关Gradient字样的类,例如LinearGradient线性渐变、RadialGradient径向渐变和SweepGradient角度渐变三种,他们的基类为android.graphics.Shader。为了演示图像渐变效果,下面给出一个简单的实例。一、LinearGradient线性渐变在android平台中提供了两种重载方式来实例化该类分别为,他们的不同之处为参数中第一种方法可以用颜色数组,和位置来实现更细腻的过渡效果,比如颜色采样int[]colors数组中存放20种颜色,则渐变将会逐一处理。而第二种方法参数仅为起初颜色color0和最终颜色color1。LinearGradient(floatx0,floaty0,floatx1,floaty1,int[]colors,float[]positions,Shader.TileModetile)LinearGradient(floatx0,floaty0,floatx1,floaty1,intcolor0,intcolor1,Shader.TileModetile)使用实例如下:Paintp=newPaint();LinearGradientlg=newLinearGradient(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR);//参数一为渐变起初点坐标x位置,参数二为y轴位置,参数三和四分辨对应渐变终点,最后参数为平铺方式,这里设置为镜像刚才已经讲到Gradient是基于Shader类,所以我们通过Paint的setShader方法来设置这个渐变,代码如下:p.setShader(lg);canvas.drawCicle(0,0,200,p);//参数3为画圆的半径,类型为float型。二、RadialGradient镜像渐变有了上面的基础,我们一起来了解下径向渐变。和上面参数唯一不同的是,径向渐变第三个参数是半径,其他的和线性渐变相同。RadialGradient(floatx,floaty,floatradius,int[]colors,float[]positions,Shader.TileModetile)RadialGradient(floatx,floaty,floatradius,intcolor0,intcolor1,Shader.TileModetile)三、SweepGradient角度渐变对于一些3D立体效果的渐变可以尝试用角度渐变来完成一个圆锥形,相对来说比上面更简单,前两个参数为中心点,然后通过载入的颜色来平均的渐变渲染。SweepGradient(floatcx,floatcy,int[]colors,float[]positions)//对于最后一个参数SDK上的描述为MaybeNULL.Therelativepositionofeachcorrespondingcolorinthecolorsarray,beginningwith0andendingwith1.0.Ifthevaluesarenotmonotonic,thedrawingmayproduceunexpectedresults.IfpositionsisNULL,thenthecolorsareautomaticallyspacedevenly.,所以建议使用下面的重载方法,本方法一般为NULL即可。SweepGradient(floatcx,floatcy,intcolor0,intcolor1)到此,希望大家对图像特效处理有了一定的认识,了解这些对打好Android游戏开发的基础很有好处。转载

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绘图之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渐变色背景
本文来源:http://hbruida.cn/article/dsddhgd.html