短視訊商城系統,Android進度條,自定義進度條,顯示百分比
短視訊商城系統,Android進度條,自定義進度條,顯示百分比
/** * 自定義進度條 * */ public class JinDuView extends View { private Paint mPaint; //畫筆 private int canvasHeight; //畫板高度 private int canvasWidth; //畫板寬度 private int nowNumber = 0; //當前數字 private int maxNumber = 0; //最大數字 public JinDuView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); //呼叫該View方法,這裡測試寫到這裡,使用時 fb 找到控制元件後呼叫即可 intoData(70); } /** *動態設定資料 * */ public void intoData(int bigNumber){ maxNumber = bigNumber; //獲取最大百分比 thread.start(); //開啟執行緒 } @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //畫筆 mPaint = new Paint(); //防鋸齒 mPaint.setAntiAlias(true); //獲取畫板高度 canvasHeight = getMeasuredHeight(); //獲取畫板寬度 canvasWidth = getMeasuredWidth(); //設定顏色 mPaint.setColor(Color.GREEN); //設定寬度-寬度為畫板寬度 mPaint.setStrokeWidth(canvasWidth); //畫矩形 //canvas.drawRect(0, 0, canvasWidth, canvasHeight, mPaint); //畫橢圓形 canvas.drawRoundRect(0,0,canvasWidth,canvasHeight,30,30,mPaint); //設定顏色 mPaint.setColor(Color.BLACK); //畫矩形 // canvas.drawRect(0,0,canvasWidth/100*nowNumber,canvasHeight,mPaint); //畫橢圓形 canvas.drawRoundRect(0,0,canvasWidth/100*nowNumber,canvasHeight,30,30,mPaint); //設定文字 String str = nowNumber + " %"; //設定模板 Rect rect = new Rect(); //設定字型大小 mPaint.setTextSize(24); //設定字型顏色 mPaint.setColor(Color.RED); //將文字模板轉移到畫筆上,此時畫筆的屬性代表了該文字的屬性 mPaint.getTextBounds(str,0,str.length(),rect); //畫到畫板上 canvas.drawText(str,canvasWidth/100*nowNumber+5,canvasHeight/2+rect.height()/2,mPaint); } /** * 結束事件 * */ private void stopThread(){ // 這裡進行彈窗,附加小知識點: // 問:子執行緒中能不能吐司? // 答:經原始碼分析,吐司需要Looper物件,子執行緒中並沒有宣告Looper物件, // 所以通過此方法及時新增和解除Looper物件就可以吐司了,奧裡給 Looper.prepare(); Toast.makeText(getContext(),"載入完畢",Toast.LENGTH_SHORT).show(); Looper.loop(); //結束執行緒 thread.stop(); } /** * 通過執行緒來動態設定View達到動畫效果 * */ private Thread thread = new Thread(){ @Override public void run() { while(true){ try { /**如果當前數字小於設定的最大數字就一直加 * 否則進入結束事件 * */ if (nowNumber < maxNumber){ nowNumber = nowNumber+1; }else { stopThread(); } /**休息時間*/ Thread.sleep(70); } catch (InterruptedException e) { e.printStackTrace(); } /** * 重新整理介面 - 無需在UI執行緒,在工作執行緒即可被呼叫,invalidate()必須在UI執行緒 * */ postInvalidate(); } } }; }
以上就是 短視訊商城系統,Android進度條,自定義進度條,顯示百分比,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2901896/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 短視訊平臺搭建,Android自定義旋轉進度條Android
- Android自定義圓形進度條Android
- YCProgress自定義百分比進度條
- 短視訊開發app,自定義帶進度條的視訊播放按鈕APP
- android 自定義酷炫進度條動畫Android動畫
- 【Android】自定義ProgressView-進度條動畫AndroidView動畫
- 直播系統開發,實現在進度條中顯示文字顯示進度
- vue 自定義指令實現,滾動條百分比進度條。Vue
- LVGL高效顯示進度條
- ios自定義圓環進度條iOS
- carousel 輪播自定義進度條
- laravel自定義命令列印進度條Laravel命令列
- 【新特性速遞】進度條,進度條,進度條
- [-Flutter 自定義元件-] 圓形進度條Flutter元件
- Artisan 進度條 自定義輸出格式
- 短視訊直播系統,非常簡易的通過python文字進度條Python
- Js 百分比進度條JS
- 直播app系統原始碼,固定速度的進度條顯示APP原始碼
- 自定義圓形進度條控制元件控制元件
- 直播商城系統原始碼,環形進度條元件原始碼元件
- Android花樣loading進度條(三)-配文字環形進度條Android
- 短視訊app開發,更改進度條的滑動速度APP
- JavaScript百分比動態進度條JavaScript
- 直播平臺軟體開發,讓原本沒有進度條的頁面顯示進度條
- Android Studio通過style和layer-list實現自定義進度條Android
- OSS實現檔案下載進度條顯示
- Qt 進度條QT
- 記錄個簡單的進度條同步顯示方法
- 進度條和列表形式顯示的控制元件控制元件
- canvas百分比環形進度條程式碼Canvas
- Android原生繪圖進度條+簡單自定義屬性程式碼生成器Android繪圖
- Android 自定義 View:包含多種狀態的下載用圓形進度條AndroidView
- Android 自定義圓形旋轉進度條,仿微博頭像載入效果Android
- HTML <progress> 進度條HTML
- wkwebView 新增 進度條WebView
- 學習進度條
- 簡單進度條
- Python進度條技巧Python