歡迎您光臨本站 註冊首頁

Android 倒計時控件 CountDownView的實例代碼詳解

←手機掃碼閱讀     kyec555 @ 2020-06-11 , reply:0

一個精簡可自定義的倒計時控件,使用 Canvas.drawArc() 繪製。實現了應用開屏頁的圓環掃過的進度條效果。

代碼見https://github.com/hanjx-dut/CountDownView

使用

  allprojects {   repositories {    ...    maven { url 'https://jitpack.io' }   }  }    dependencies {   implementation 'com.github.hanjx-dut:CountDownView:1.1'  }

 

實現的效果

效果圖

對應的view:

   

 

全部屬性:

        

 

文字部分沒有提供更多的自定義屬性,可以通過 setTextDrawer()對畫筆和文字進行自定義,如 demo 中的第五個:

  CountDownView countDownView = findViewById(R.id.count_down_5);  countDownView.setTextDrawer(new CountDownView.TextDrawer() {   @Override   public void setTextPaint(Paint paint, long leftTime, int textMode) {    if (leftTime < 2000) {     paint.setTextSize(SizeUtils.sp2px(12));    }    paint.setTypeface(Typeface.DEFAULT_BOLD);    paint.setColor(0xFFFF802E);   }     @Override   public String getText(long leftTime, int mode, String originText) {    if (leftTime < 2000) {     return "跳過";    }    return String.format("%ss", leftTime == 0 ? leftTime : leftTime / 1000 + 1);   }  });

 

監聽

  countDownView.setCountDownListener(new CountDownView.CountDownListener() {   @Override   public void onTick(long leftTime, float finishedAngle) {    // leftTime: 剩餘時間, finishedAngle: 掃過的角度   }     @Override   public void onStop(boolean reset) {    // 主動調用 countDownView.stop() 時會觸發此回調   }     @Override   public void onFinished() {     }  });

 

ps:接口都有默認實現,可以選擇實現任意方法

 

   


[kyec555 ] Android 倒計時控件 CountDownView的實例代碼詳解已經有235次圍觀

http://coctec.com/docs/android/show-post-238061.html