Android 顏色渲染(六) RadialGradient 環形渲染

來源:互聯網
上載者:User

標籤:

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

目錄(?)[+]

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:

[java] view plain copy
  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:

 

[java] view plain copy
    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.   

Android 顏色渲染(六) RadialGradient 環形渲染

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.