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

Android自定義View實(shí)現(xiàn)餅狀圖帶動(dòng)畫效果

 更新時(shí)間:2018年12月14日 08:30:18   作者:petterp  
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)餅狀圖帶動(dòng)畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一個(gè)簡(jiǎn)單的自定義view餅狀圖,加入了動(dòng)畫效果

先看一下效果

下面就直接上代碼了

public class Yidong2 extends AppCompatActivity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(new PointView(this));
 }
 
 public class PointView extends View {
  private int[] p1 = {0, 100, 200};  //存放弧度的數(shù)組
  //定義存放顏色的數(shù)組
  private int[] p2 = {Color.GREEN, Color.YELLOW, Color.RED};  
  Paint paint = new Paint();    //畫筆
  private float k;      //弧度變動(dòng)后的值
 
  //定義矩形,用戶確定描繪的餅狀圖位置
  private final RectF rectF = new RectF(100, 100, 800, 800);
 
  //定義
  public PointView(Context context) {
   super(context);
   paint.setStyle(Paint.Style.FILL);  //設(shè)置畫筆為填充
   paint.setStrokeWidth(10f);    //設(shè)置畫筆寬度
   paint.setAntiAlias(true);    //抗鋸齒
 
   //屬性動(dòng)畫
   ValueAnimator animator = ValueAnimator.ofFloat(0, 360);
   animator.setDuration(1000);    //設(shè)置動(dòng)畫時(shí)間
   animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
     k = (float) animation.getAnimatedValue(); //獲取變動(dòng)后的值
     invalidate();   //刷新布局
    }
   });
   animator.start(); //啟動(dòng)動(dòng)畫
  }
 
  @SuppressLint("DrawAllocation")
  @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
  @Override
  protected void onDraw(Canvas canvas) {
   super.onDraw(canvas);
   //這里做了不同顏色的范圍判斷,還可以進(jìn)行封裝,為了便于學(xué)習(xí),就沒(méi)有再次封裝
   if (k < p1[1]) {
    shezhi(canvas, 0);
   } else if (k < p1[2]) {
    shezhi(canvas, 1);
   } else {
    shezhi(canvas, 2);
   }
  }
 
  //動(dòng)畫方法,Android的動(dòng)畫有三種,View動(dòng)畫,幀動(dòng)畫,屬性動(dòng)畫,
  //這里對(duì)動(dòng)畫方法進(jìn)行簡(jiǎn)單的封裝,只需要明白,如果存在多個(gè)顏色的話,在繪制第二個(gè)以后顏色時(shí),每次都要先繪制先前所有顏色,再繪制當(dāng)前顏色,即可理解,這也就是動(dòng)畫的基本邏輯。
  private void shezhi(Canvas canvas, int n) {
   for (int i = 0; i <= n; i++) {
    paint.setColor(p2[i]);
    canvas.drawArc(rectF, p1[i], k - p1[i], true, paint);
   }
  }
 }
}

已經(jīng)加入了詳細(xì)的注釋,同樣的原理,還可以將動(dòng)畫加入到柱形圖等等。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android VideoView類實(shí)例講解

    Android VideoView類實(shí)例講解

    本文主要介紹Android VideoView類,這里對(duì)VideoView類詳細(xì)說(shuō)明了使用方法,以及示例代碼,有興趣的朋友可以參考下,希望能幫助Android 開(kāi)發(fā)的朋友
    2016-08-08
  • Android Bitmap像素級(jí)操作詳解

    Android Bitmap像素級(jí)操作詳解

    這篇文章主要介紹了Android Bitmap像素級(jí)操作詳解,想了解Bitmap的同學(xué)可以參考下
    2021-04-04
  • Android、Flutter為不同的CPU架構(gòu)包打包APK(v7a、v8a、x86區(qū)別)

    Android、Flutter為不同的CPU架構(gòu)包打包APK(v7a、v8a、x86區(qū)別)

    默認(rèn)情況下,Android和Flutter打包出來(lái)的Apk都是包含了所有架構(gòu)的,這樣打出來(lái)的apk體積相對(duì)于單架構(gòu)的apk有點(diǎn)大,這時(shí),我們就需要分別打出不同的架構(gòu)包
    2023-08-08
  • Android實(shí)現(xiàn)模仿UCweb菜單效果的方法

    Android實(shí)現(xiàn)模仿UCweb菜單效果的方法

    這篇文章主要介紹了Android實(shí)現(xiàn)模仿UCweb菜單效果的方法,較為詳細(xì)的分析了Android模仿UCweb菜單效果的頁(yè)面布局及功能實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Android中 service組件詳解

    Android中 service組件詳解

    Service是Android的四大組件之一,以下是我結(jié)合Android Doc和網(wǎng)上資料的學(xué)習(xí)總結(jié),有不準(zhǔn)確的地方請(qǐng)高手指出,互相學(xué)習(xí)嘛。。。
    2016-08-08
  • Android AS創(chuàng)建自定義布局案例詳解

    Android AS創(chuàng)建自定義布局案例詳解

    這篇文章主要介紹了Android AS創(chuàng)建自定義布局案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Android小程序?qū)崿F(xiàn)選項(xiàng)菜單

    Android小程序?qū)崿F(xiàn)選項(xiàng)菜單

    這篇文章主要為大家詳細(xì)介紹了Android小程序?qū)崿F(xiàn)選項(xiàng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Android開(kāi)發(fā)之a(chǎn)ctivity的生命周期詳解

    Android開(kāi)發(fā)之a(chǎn)ctivity的生命周期詳解

    這篇文章主要介紹了Android開(kāi)發(fā)之a(chǎn)ctivity的生命周期,詳細(xì)分析了activity的運(yùn)行原理與生命周期,需要的朋友可以參考下
    2016-06-06
  • Android自定義View仿微博運(yùn)動(dòng)積分動(dòng)畫效果

    Android自定義View仿微博運(yùn)動(dòng)積分動(dòng)畫效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義View仿微博運(yùn)動(dòng)積分動(dòng)畫效果,開(kāi)啟了自定義view學(xué)習(xí)旅程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android Activity狀態(tài)與操作探究

    Android Activity狀態(tài)與操作探究

    Activity作為Android四大組件之一,他的啟動(dòng)絕對(duì)沒(méi)有那么簡(jiǎn)單。這里涉及到了系統(tǒng)服務(wù)進(jìn)程,啟動(dòng)過(guò)程細(xì)節(jié)很多,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2022-12-12

最新評(píng)論

泸西县| 永和县| 扎兰屯市| 吉林省| 漳州市| 榆中县| 高台县| 进贤县| 棋牌| 宜章县| 玉屏| 常州市| 洞头县| 曲靖市| 偏关县| 五大连池市| 平罗县| 阳城县| 平凉市| 乐都县| 区。| 延津县| 宾阳县| 达日县| 莫力| 方正县| 甘南县| 徐水县| 墨玉县| 兴文县| 赤水市| 呼玛县| 津南区| 宁津县| 张家港市| 婺源县| 凤城市| 达孜县| 闸北区| 色达县| 沧州市|