Android顏色處理SweepGradient掃描及梯度渲染示例
掃描渲染
為什么什么叫掃描渲染呢? 相信大家都看過雷達掃描的效果,尤其是在安全軟件中.

public SweepGradient(float cx, float cy, int[] colors, float[] positions)
Parameters:
| cx | 渲染中心點x 坐標(biāo) |
|---|---|
| cy | 渲染中心y 點坐標(biāo) |
| colors | 圍繞中心渲染的顏色數(shù)組,至少要有兩種顏色值 |
| positions | 相對位置的顏色數(shù)組,可為null, 若為null,可為null,顏色沿漸變線均勻分布 |
public SweepGradient(float cx, float cy, int color0, int color1)
Parameters:
| cx | 渲染中心點x 坐標(biāo) |
|---|---|
| cy | 渲染中心點y 坐標(biāo) |
| color0 | 起始渲染顏色 |
| color1 | 結(jié)束渲染顏色 |
效果圖:

代碼:
MainActivity:
package com.tony.testshader;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class MainActivity extends Activity implements OnSeekBarChangeListener{
private SweepGradientView sweepGradientView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sweepGradientView = new SweepGradientView(MainActivity.this);
setContentView(sweepGradientView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}SweepGradientView:
package com.tony.testshader;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.util.AttributeSet;
import android.view.View;
public class SweepGradientView extends View {
Paint mPaint = null;
// 梯度渲染
Shader mSweepGradient = null;
public SweepGradientView(Context context) {
super(context);
// 創(chuàng)建SweepGradient對象
// 第一個,第二個參數(shù)中心坐標(biāo)
// 后面的參數(shù)與線性渲染相同
mSweepGradient = new SweepGradient(240, 360, new int[] {Color.CYAN,Color.DKGRAY,Color.GRAY,Color.LTGRAY,Color.MAGENTA,
Color.GREEN,Color.TRANSPARENT, Color.BLUE }, null);
mPaint = new Paint();
}
public SweepGradientView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 繪制梯度漸變
mPaint.setShader(mSweepGradient);
canvas.drawCircle(240, 360, 200, mPaint);
}
}以上就是Android顏色處理SweepGradient掃描及梯度渲染示例的詳細內(nèi)容,更多關(guān)于Android顏色處理SweepGradient掃描梯度渲染的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android開發(fā)實現(xiàn)TextView顯示豐富的文本
這篇文章主要介紹了Android開發(fā)實現(xiàn)TextView顯示豐富的文本,涉及Android中TextView的使用技巧,需要的朋友可以參考下2015-12-12
ViewPager 與 Fragment相結(jié)合實現(xiàn)微信界面實例代碼
這篇文章主要介紹了ViewPager 與 Fragment相結(jié)合實現(xiàn)微信界面實例代碼的相關(guān)資料,需要的朋友可以參考下2016-07-07
Android SwipeRefreshLayout下拉刷新源碼解析
這篇文章主要為大家詳細解析了Android SwipeRefreshLayout下拉刷新源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
Android使用OkHttp進行網(wǎng)絡(luò)同步異步操作
這篇文章主要為大家詳細介紹了Android使用OkHttp進行網(wǎng)絡(luò)同步異步操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
android 手機SD卡讀寫操作(以txt文本為例)實現(xiàn)步驟
要完成SD卡讀寫操作首先對manifest注冊SD卡讀寫權(quán)限其次是創(chuàng)建一個對SD卡中文件讀寫的類寫一個用于檢測讀寫功能的的布局然后就是UI的類了,感興趣的朋友可以參考下,希望可以幫助到你2013-02-02
Android 自定義view實現(xiàn)水波紋動畫效果
這篇文章主要介紹了 Android 自定義view實現(xiàn)水波紋動畫效果的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-01-01
Android如何禁止向EditText控件中輸入內(nèi)容詳解
EditText是接受用戶輸入信息的最重要控件。下面這篇文章主要給大家介紹了關(guān)于Android如何禁止向EditText控件中輸入內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09

