zoukankan      html  css  js  c++  java
  • Android 颜色渲染(六) RadialGradient 环形渲染

    目录(?)[+]

    Android 颜色处理(六) RadialGradient 环形渲染

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

    float x:  圆心X坐标

    float y:  圆心Y坐标

    float radius: 半径

    int[] colors:  渲染颜色数组

    floate[] positions: 相对位置数组,可为null,  若为null,可为null,颜色沿渐变线均匀分布

    Shader.TileMode tile:渲染器平铺模式

    public RadialGradient(float x, float y, float radius, int color0, int color1,Shader.TileMode tile)

    float x:  圆心X坐标

    float y:  圆心Y坐标

    float radius: 半径

    int color0: 圆心颜色

    int color1: 圆边缘颜色

    Shader.TileMode tile:渲染器平铺模式

    效果图;

                                                    

    代码:

    MainActivity:

    1. package com.tony.shader;  
    2.   
    3. import android.os.Bundle;  
    4. import android.app.Activity;  
    5.   
    6. public class MainActivity extends Activity {  
    7.   
    8.     private RadialGradientView radialGradientView;  
    9.       
    10.     @Override  
    11.     protected void onCreate(Bundle savedInstanceState) {  
    12.         super.onCreate(savedInstanceState);  
    13.           
    14.         radialGradientView = new RadialGradientView(this);  
    15.         setContentView(radialGradientView);  
    16.     }  
    17.   
    18. }  


    RadialGradientView:

      1. package com.tony.shader;  
      2.   
      3. import android.content.Context;  
      4. import android.graphics.Canvas;  
      5. import android.graphics.Color;  
      6. import android.graphics.Paint;  
      7. import android.graphics.RadialGradient;  
      8. import android.graphics.Shader;  
      9. import android.util.AttributeSet;  
      10. import android.view.View;  
      11.   
      12. public class RadialGradientView extends View {  
      13.   
      14.     Paint mPaint = null;  
      15.     // 环形渐变渲染  
      16.     Shader mRadialGradient = null;  
      17.     public RadialGradientView(Context context) {  
      18.         super(context);  
      19.         //1.圆心X坐标2.Y坐标3.半径 4.颜色数组 5.相对位置数组,可为null 6.渲染器平铺模式   
      20.         mRadialGradient = new RadialGradient(240, 240, 240, new int[] {    
      21.                 Color.YELLOW, Color.GREEN, Color.TRANSPARENT, Color.RED }, null,    
      22.                 Shader.TileMode.REPEAT);    
      23.     
      24.         mPaint = new Paint();    
      25.     }  
      26.       
      27.       
      28.     public RadialGradientView(Context context, AttributeSet attrs) {  
      29.         super(context, attrs);  
      30.     }  
      31.       
      32.      @Override    
      33.         protected void onDraw(Canvas canvas) {    
      34.             // 绘制环形渐变    
      35.             mPaint.setShader(mRadialGradient);    
      36.             // 第一个,第二个参数表示圆心坐标    
      37.             // 第三个参数表示半径    
      38.             canvas.drawCircle(240, 360, 200, mPaint);    
      39.         }    
      40.         
      41.       
      42.       
      43.   
  • 相关阅读:
    Ext.Net中,文件下载。
    Ext.Net中,DataView数据绑定之使用技巧。
    Ext.Net控件,简单案例1,让我们从Hello World开始,走进Ext.Net控件的世界!。
    VSCode入门设置成中文
    S2T40,第四章,简答4
    MongoDB学习笔记三:查询
    初等数论学习笔记一:整除的概念与带余除法
    MongoDB学习笔记四:索引
    初等数论学习笔记二:最大公因数与辗转相除法
    MongoDB学习笔记二:创建、更新及删除文档
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5571858.html
Copyright © 2011-2022 走看看