xml渐变android
2013-06-13 11:55:56 zhangxu365 阅读数 438
设置背景色可以通过在res/drawable里定义一个xml,如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3.         <gradient
  4.                 android:startColor="#FFF"
  5.                 android:endColor="#000"
  6.                 android:angle="45"
  7.         />
  8. </shape>
复制代码


shape是用来定义形状的,gradient定义该形状里面为渐变色填充,startColor起始颜色,endColor结束颜色,angle表示方向角度。当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。
实现过程:
第一步:
res/drawable/background_login.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3.         <gradient
  4.                 android:startColor="#FFF"
  5.                 android:endColor="#000"
  6.                 android:angle="45"
  7.         />
  8. </shape>
复制代码
第二步:
res/layout/login.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3.   xmlns:android="http://schemas.android.com/apk/res/android"
  4.   android:orientation="vertical"
  5.   android:layout_width="fill_parent"
  6.   android:layout_height="fill_parent"
  7.   android:background="@drawable/background_login">
  8.   
  9. </LinearLayout>
复制代码
第三步:
  1. import android.app.Activity;
  2. import android.os.Bundle;

  3. public class LoginActivity extends Activity {
  4.     @Override
  5.     public void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.login);
  8.     }
  9. }
复制代码

效果图:

2017-09-14 08:46:25 IAFMAY 阅读数 197

Android 渐变背景xml

渐变的实现有很多种xml实现是其中的一种。



渐变属性大概介绍

[html] view plain copy
  1. <!--android:startColor="#aa000000"  渐变起始色值  
  2.     android:centerColor=""      渐变中间色值  
  3.     android:endColor="#ffffffff"    渐变结束颜色  
  4.     android:angle="45"      渐变的方向 默认为0 从做向右 ,90时从下向上 必须为45的整数倍  
  5.     android:type="radial"       渐变类型 有三种 线性linear 放射渐变radial 扫描线性渐变sweep      
  6.     android:centerX="0.5"       渐变中心相对X坐标只有渐变类型为放射渐变时有效  
  7.     android:centerY="0.5"       渐变中心相对Y坐标只有渐变类型为放射渐变时有效  
  8.     android:gradientRadius="100"    渐变半径 非线性放射有效  
  9.     -->  
  10. <gradient  
  11.     android:startColor="#000000"  
  12.     android:endColor="#ffffff"  
  13.     android:type="sweep"  
  14.     android:centerX="0.5"  
  15.     android:centerY="0.5"  
  16.     android:gradientRadius="100"/></span>  

2015-12-30 12:26:50 liu1164316159 阅读数 4815

渐变的实现有很多种xml实现是其中的一种。



渐变属性大概介绍

    <!--android:startColor="#aa000000"  渐变起始色值
    	android:centerColor=""		渐变中间色值
        android:endColor="#ffffffff"	渐变结束颜色
        android:angle="45"		渐变的方向 默认为0 从做向右 ,90时从下向上 必须为45的整数倍
        android:type="radial"		渐变类型 有三种 线性linear 放射渐变radial 扫描线性渐变sweep	
        android:centerX="0.5"		渐变中心相对X坐标只有渐变类型为放射渐变时有效
        android:centerY="0.5"		渐变中心相对Y坐标只有渐变类型为放射渐变时有效
        android:gradientRadius="100" 	渐变半径 非线性放射有效
        -->
    <gradient
        android:startColor="#000000"
        android:endColor="#ffffff"
        android:type="sweep"
        android:centerX="0.5"
        android:centerY="0.5"
        android:gradientRadius="100"/></span>


2013-01-03 22:03:10 kobe73er 阅读数 641
设置背景色可以通过在res/drawable里定义一个xml,如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3.         <gradient
  4.                 android:startColor="#FFF"
  5.                 android:endColor="#000"
  6.                 android:angle="45"
  7.         />
  8. </shape>
复制代码


shape是用来定义形状的,gradient定义该形状里面为渐变色填充,startColor起始颜色,endColor结束颜色,angle表示方向角度。当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。
实现过程:
第一步:
res/drawable/background_login.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3.         <gradient
  4.                 android:startColor="#FFF"
  5.                 android:endColor="#000"
  6.                 android:angle="45"
  7.         />
  8. </shape>
复制代码
第二步:
res/layout/login.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3.   xmlns:android="http://schemas.android.com/apk/res/android"
  4.   android:orientation="vertical"
  5.   android:layout_width="fill_parent"
  6.   android:layout_height="fill_parent"
  7.   android:background="@drawable/background_login">
  8.   
  9. </LinearLayout>
复制代码
第三步:
  1. import android.app.Activity;
  2. import android.os.Bundle;

  3. public class LoginActivity extends Activity {
  4.     @Override
  5.     public void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.login);
  8.     }
  9. }
复制代码

效果图:

2012-08-04 16:47:00 weixin_34237596 阅读数 68

引用:http://www.189works.com/article-2464-1.html

Android游戏开发中我们不免要涉及到一些图形特效处理,今天主要看下Android平台下实现渐变效果。在android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果,使用一个简单的例子来说明。

一、LinearGradient线性渐变

在android平台中提供了两种重载方式来实例化该类分别为,他们的不同之处为参数中第一种方法可以用颜色数组,和位置来实现更细腻的过渡效果,比如颜色采样int[] colors数组中存放20种颜色,则渐变将会逐一处理。而第二种方法参数仅为起初颜色color0和最终颜色color1。

LinearGradient(float x0, float y0, float x1, float y1, int[] colors, float[] positions, Shader.TileMode tile) 

LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile) 
使用实例如下:
Paint p=new Paint();
LinearGradient lg=new LinearGradient(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR);  //参数一为渐变起初点坐标x位置,参数二为y轴位置,参数三和四分辨对应渐变终点,最后参数为平铺方式,这里设置为镜像.

刚才Android开发网已经讲到Gradient是基于Shader类,所以我们通过Paint的setShader方法来设置这个渐变,代码如下:
p.setShader(lg);
canvas.drawCicle(0,0,200,p); //参数3为画圆的半径,类型为float型。

二、 RadialGradient镜像渐变

有了上面的基础,我们一起来了解下径向渐变。和上面参数唯一不同的是,径向渐变第三个参数是半径,其他的和线性渐变相同。

RadialGradient(float x, float y, float radius, int[] colors, float[] positions, Shader.TileMode tile) 
RadialGradient(float x, float y, float radius, int color0, int color1, Shader.TileMode tile)

三、 SweepGradient角度渐变

对于一些3D立体效果的渐变可以尝试用角度渐变来完成一个圆锥形,相对来说比上面更简单,前两个参数为中心点,然后通过载入的颜色来平均的渐变渲染。

SweepGradient(float cx, float cy, int[] colors, float[] positions)  //对于最后一个参数SDK上的描述为May be NULL. The relative position of each corresponding color in the colors array, beginning with 0 and ending with 1.0. If the values are not monotonic, the drawing may produce unexpected results. If positions is NULL, then the colors are automatically spaced evenly.,所以Android123建议使用下面的重载方法,本方法一般为NULL即可。
SweepGradient(float cx, float cy, int color0, int color1)

所地方

博文 来自: ch847808805

Android中的渐变

阅读数 42

android 渐变drawable

阅读数 13

Android - 声音渐变

阅读数 28

android 渐变drawable

阅读数 7613

没有更多推荐了,返回首页