亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:60日期:2022-09-23 17:54:47

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

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

使用

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

實現的效果

效果圖

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

對應的view:

<com.hanjx.ui.CountDownView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_gravity='center_horizontal' app:auto_start='true' app:text_mode='time_variant' app:duration='3000' app:paint_stroke='3dp'/> <com.hanjx.ui.CountDownView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_gravity='center_horizontal' app:finished_color='#000000' app:auto_start='true' app:start_angle='90' app:text_mode='time_variant' app:duration='3000' app:paint_stroke='3dp'/> <com.hanjx.ui.CountDownView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_gravity='center_horizontal' app:finished_color='#FF0000' app:unfinished_color='#00FF00' app:auto_start='true' app:duration='2000' app:refresh_interval='quick' app:text='跳過' app:text_size='12sp' app:text_color='#FF0000' app:text_mode='fixed' app:paint_stroke='2dp'/> <com.hanjx.ui.CountDownView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_gravity='center_horizontal' app:auto_start='true' app:text_mode='fixed' app:clockwise='false' app:text='' app:duration='2000' app:paint_stroke='3dp'/> <com.hanjx.ui.CountDownView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_gravity='center_horizontal' app:text_mode='time_variant' app:duration='5000' app:paint_stroke='1.5dp'/>

全部屬性:

<declare-styleable name='CountDownView'> <attr name='duration' format='integer'/> <!-- 總時間 --> <attr name='refresh_interval'> <!-- 刷新間隔 ms --> <enum name='normal' value='16'/> <enum name='quick' value='11'/> <enum name='slow' value='20'/> </attr> <attr name='paint_stroke' format='dimension'/> <!-- 圓環寬度 --> <attr name='finished_color' format='color'/> <!-- 掃過完成的顏色 --> <attr name='unfinished_color' format='color'/> <!-- 未完成的顏色 --> <attr name='start_angle' format='float'/> <!-- 起始角度 默認 -90 即頂部 --> <attr name='clockwise' format='boolean'/> <!-- 順時針 默認 true --> <attr name='auto_start' format='boolean'/> <!-- 自動開始 默認 false --> <!-- 文字 --> <attr name='text' format='string'/> <!-- 設置文字 --> <attr name='text_mode'> <!-- 文字模式 固定 / 隨時間倒數(默認)--> <enum name='fixed' value='0'/> <enum name='time_variant' value='1'/> </attr> <attr name='text_size' format='dimension'/> <!-- 文字尺寸 --> <attr name='text_color' format='color'/> <!-- 文字顏色 --> </declare-styleable>

文字部分沒有提供更多的自定義屬性,可以通過 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:接口都有默認實現,可以選擇實現任意方法

總結

到此這篇關于Android 倒計時控件 CountDownView的實例代碼詳解的文章就介紹到這了,更多相關Android 倒計時控件 CountDownView內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 久久99精品这里精品3 | 国产免费高清 | 欧美性性性性性色大片免费的 | 精品一区二区三区在线观看l | 亚洲一区二区影视 | 中文字幕在线观看91 | 日韩在线播放视频 | 美女扒开腿被男人猛视频 | 欧美亚洲另类视频 | 成在线人免费视频 | 亚洲福利影视 | 日本免费一级 | 国产v片成人影院在线观看 国产v片在线播放免费观 | 狠狠澡夜夜澡人人爽 | 寡妇野外啪啪一区二区 | 成人首页| 欧美一级黄 | 全部毛片 | 成年美女黄网站小视频 | 国产在线精品福利一区二区三区 | 日韩一级在线播放免费观看 | 国产又色又爽黄的网站免费 | 久久久久久在线 | 米奇888在线播放欧美 | 国产a精品 | 亚洲欧美高清视频 | 亚洲刺激视频 | 欧美中文字幕一区二区三区 | 国产精品深爱在线 | 欧美一级录像 | 日韩亚洲欧美一区二区三区 | 久草热久草视频 | 久久一本精品久久精品66 | 亚洲黄色免费网址 | 国产美女拍拍拍在线观看 | 欧美在线一级毛片观看 | 99久久精品免费精品国产 | 一色屋成人免费精品网站 | 99精品在线视频观看 | 午夜两性试爱视频免费 | 欧美18毛片免费看 |