中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中利用view實現一個太極效果

發布時間:2020-12-04 17:06:05 來源:億速云 閱讀:173 作者:Leah 欄目:移動開發

怎么在Android中利用view實現一個太極效果?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Android自定義view實現太極效果實例代碼

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

實現效果很簡單,我們不要用什么貝塞爾曲線啥的,因為太極無非就是圓圓圓,只要畫圓就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);  //繪制區域
    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();
  }

關于怎么在Android中利用view實現一個太極效果問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长顺县| 乐清市| 阳信县| 乌苏市| 如东县| 凤阳县| 平定县| 江孜县| 嵩明县| 睢宁县| 成都市| 洪洞县| 新丰县| 伊通| 宁陵县| 且末县| 扬中市| 工布江达县| 唐山市| 义乌市| 安丘市| 旬阳县| 石林| 洛浦县| 密云县| 高尔夫| 平定县| 治多县| 资阳市| 尼玛县| 恩平市| 荔浦县| 石首市| 丰台区| 拉孜县| 云霄县| 和林格尔县| 天祝| 红河县| 沂源县| 法库县|