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

Android自定義view實現(xiàn)太極效果實例代碼

 更新時間:2017年05月08日 14:24:21   投稿:lqh  
這篇文章主要介紹了Android自定義view實現(xiàn)太極效果實例代碼的相關資料,需要的朋友可以參考下

Android自定義view實現(xiàn)太極效果實例代碼

之前一直想要個加載的loading。卻不知道用什么好,然后就想到了太極圖標,最后效果是有了,不過感覺用來做loading簡直丑到爆!??!

實現(xiàn)效果很簡單,我們不要用什么貝塞爾曲線啥的,因為太極無非就是圓圓圓,只要畫圓就ok了。來上代碼:

因為有黑有白,所以定義2個畫筆分別為黑和白。

private void inital() {
    whitePaint = new Paint();
    whitePaint.setAntiAlias(true);
    whitePaint.setColor(Color.WHITE);
    blackPaint = new Paint();
    blackPaint.setAntiAlias(true);
    blackPaint.setColor(Color.BLACK);
  }

最后來畫3個圓就可以解決了:

 protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Point centerPoint = new Point(width / 2, height / 2);
    canvas.translate(centerPoint.x, centerPoint.y);
    canvas.rotate(angle);
    //繪制兩個半圓
    int radius = Math.min(bitmapwidth, bitmapheight) / 2;
    RectF rect = new RectF(-radius, -radius, radius, radius);  //繪制區(qū)域
    canvas.drawArc(rect, 90, 180, true, blackPaint);      //繪制黑色半圓
    canvas.drawArc(rect, -90, 180, true, whitePaint);      //繪制白色半圓
    //繪制兩個小圓
    int smallRadius = radius / 2;
    canvas.drawCircle(0, -smallRadius, smallRadius, blackPaint);
    canvas.drawCircle(0, smallRadius, smallRadius, whitePaint);
    //繪制魚眼
    canvas.drawCircle(0, -smallRadius, smallRadius / 4, whitePaint);
    canvas.drawCircle(0, smallRadius, smallRadius / 4, blackPaint);
    if (load) {
      angle += 10;
      if (angle >= 360) {
        angle = 0;
      }
    }
    invalidate();
  }

是不是很簡單,也就幾行代碼就解決了,一開始我還打算用貝塞爾曲線的(瘋了?。。?。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

最新評論

大足县| 鹿泉市| 治县。| 闽清县| 嘉善县| 五原县| 临安市| 安溪县| 浏阳市| 柳江县| 远安县| 隆安县| 凤凰县| 银川市| 武清区| 高雄县| 三都| 临沭县| 资中县| 保康县| 乐安县| 永川市| 浙江省| 平利县| 太和县| 巧家县| 错那县| 普格县| 盘山县| 辛集市| 中江县| 阳原县| 年辖:市辖区| 玛曲县| 文山县| 临泉县| 德格县| 邯郸市| 荥阳市| 沙坪坝区| 海林市|