最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android如何繪制發(fā)光效果詳解

 更新時(shí)間:2020年07月26日 15:42:37   作者:奔跑吧李博  
這篇文章主要給大家介紹了關(guān)于Android如何繪制發(fā)光效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

之前在看別人寫自定義view作繪制的時(shí)候,看到別人家的view自帶發(fā)光效果,看起來也是蠻炫酷的,于是自己也抽出時(shí)間來試用一下,這里做了一個(gè)模仿太陽的各種狀態(tài)樣式。

先上效果先上效果:

實(shí)現(xiàn)方式:

public BlurMaskFilter(float radius, Blur style) {

實(shí)現(xiàn)是使用的Paint類的setMaskFilter()方法,傳入BlurMaskFilter對(duì)象實(shí)現(xiàn)高斯模糊發(fā)光。

  • float radius 設(shè)置模糊半徑
  • Blur style 設(shè)置發(fā)光樣式,包括
    • Blur.INNER(內(nèi)發(fā)光),Blur.NORMAL(內(nèi)外發(fā)光)
    • Blur.SOLID(外發(fā)光),Blur.OUTER(僅外發(fā)光可見)

貼上代碼

public class MaskFilterView extends View {
 private Paint lightPaint;
 private int centerX, centerY;
 /** 發(fā)光范圍 */
 private int radioRadius = 70;

 public MaskFilterView(Context context) {
 super(context);
 init();
 }

 public MaskFilterView(Context context, @Nullable AttributeSet attrs) {
 super(context, attrs);
 init();
 }

 private void init() {
 lightPaint = new Paint();
 setLayerType(LAYER_TYPE_SOFTWARE, null);
 lightPaint.setColor(Color.parseColor("#EC3E3E"));
 lightPaint.setMaskFilter(new BlurMaskFilter(radioRadius, BlurMaskFilter.Blur.INNER));
 }

 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
 centerX = getLeft() + getMeasuredWidth()/2;
 centerY = getTop() + getMeasuredHeight()/2;
 super.onMeasure(widthMeasureSpec, widthMeasureSpec);
 }

 public void setBlurType(int blurType) {
 switch (blurType) {
  case 0:
  lightPaint.setMaskFilter(new BlurMaskFilter(radioRadius, BlurMaskFilter.Blur.INNER));
  break;
  case 1:
  lightPaint.setMaskFilter(new BlurMaskFilter(radioRadius, BlurMaskFilter.Blur.NORMAL));
  break;
  case 2:
  lightPaint.setMaskFilter(new BlurMaskFilter(radioRadius, BlurMaskFilter.Blur.SOLID));
  break;
  case 3:
  lightPaint.setMaskFilter(new BlurMaskFilter(radioRadius, BlurMaskFilter.Blur.OUTER));
  break;
 }

 invalidate();
 }

 @Override
 protected void onDraw(Canvas canvas) {
 super.onDraw(canvas);

 canvas.drawCircle(centerX, centerY, 150, lightPaint);
 }
}

總結(jié)

到此這篇關(guān)于Android如何繪制發(fā)光效果的文章就介紹到這了,更多相關(guān)Android繪制發(fā)光效果內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

泊头市| 庄河市| 防城港市| 宣化县| 丽江市| 鄄城县| 义马市| 安徽省| 抚州市| 庆云县| 兴安盟| 新营市| 马公市| 团风县| 五河县| 宝坻区| 陆丰市| 新巴尔虎右旗| 正宁县| 乌兰县| 清镇市| 巩义市| 教育| 三亚市| 五原县| 枝江市| 手机| 湖南省| 佛学| 河源市| 星座| 永泰县| 张掖市| 郧西县| 荔波县| 岳西县| 彭阳县| 襄汾县| 孝感市| 怀集县| 呈贡县|