Android顏色處理SweepGradient掃描及梯度渲染示例
掃描渲染
為什么什么叫掃描渲染呢? 相信大家都看過雷達掃描的效果,尤其是在安全軟件中.
public SweepGradient(float cx, float cy, int[] colors, float[] positions)
Parameters:
cx | 渲染中心點x 坐標 |
---|---|
cy | 渲染中心y 點坐標 |
colors | 圍繞中心渲染的顏色數(shù)組,至少要有兩種顏色值 |
positions | 相對位置的顏色數(shù)組,可為null, 若為null,可為null,顏色沿漸變線均勻分布 |
public SweepGradient(float cx, float cy, int color0, int color1)
Parameters:
cx | 渲染中心點x 坐標 |
---|---|
cy | 渲染中心點y 坐標 |
color0 | 起始渲染顏色 |
color1 | 結束渲染顏色 |
效果圖:
代碼:
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ù)中心坐標 // 后面的參數(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掃描及梯度渲染示例的詳細內容,更多關于Android顏色處理SweepGradient掃描梯度渲染的資料請關注腳本之家其它相關文章!
相關文章
Android如何實現(xiàn)動態(tài)滾動波形圖(心電圖)功能
這篇文章主要介紹了Android如何實現(xiàn)動態(tài)滾動波形圖(心電圖)功能,幫助大家更好的理解和學習使用Android,感興趣的朋友可以了解下2021-03-03Android手把手教大家制作APP首頁(下拉刷新、自動加載)
這篇文章主要為大家詳細介紹了Android手把手教大家制作APP首頁,實現(xiàn)下拉刷新、自動加載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01OpenHarmony實現(xiàn)類Android短信驗證碼及倒計時流程詳解
這篇文章主要介紹了OpenHarmony實現(xiàn)類Android短信驗證碼及倒計時流程,發(fā)送短信驗證碼后,一般在界面上都會有一個倒計時的顯示.在安卓中,實現(xiàn)類似的倒計時有多種方式,當然背后的基本原理都是設定一個初始值,然后每過一定的間隔時間執(zhí)行操作2022-11-11Android實現(xiàn)手機聯(lián)系人分欄效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)手機聯(lián)系人分欄效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03