短視訊商城系統,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
- 自定義進度條
- YCProgress自定義百分比進度條
- 短視訊開發app,自定義帶進度條的視訊播放按鈕APP
- 自定義view - 進度條View
- 自定義進度條列表
- iOS 自定義進度條iOS
- Android自定義圓形進度條Android
- 直播系統開發,實現在進度條中顯示文字顯示進度
- 自定義圓形進度條
- ios自定義圓環進度條iOS
- 【Android】自定義ProgressView-進度條動畫AndroidView動畫
- android 自定義酷炫進度條動畫Android動畫
- 打造可顯示上傳內容的自定義進度條
- vue 自定義指令實現,滾動條百分比進度條。Vue
- 自定義SeekBar顯示進度
- laravel自定義命令列印進度條Laravel命令列
- carousel 輪播自定義進度條
- 自定義SeekBar 實時顯示百分比進度
- 【新特性速遞】進度條,進度條,進度條
- Android進階 自定義View(三)圓形刻度進度條AndroidView
- Android自定義圓形進度條原始碼解析Android原始碼
- Artisan 進度條 自定義輸出格式
- Js 百分比進度條JS
- 直播app系統原始碼,固定速度的進度條顯示APP原始碼
- 短視訊直播系統,非常簡易的通過python文字進度條Python
- 直播商城系統原始碼,環形進度條元件原始碼元件
- Android自定義圓形進度條實現程式碼Android
- 自定義圓形進度條控制元件控制元件
- 短視訊app開發,更改進度條的滑動速度APP
- Android自定義View 百分比進度動畫AndroidView動畫
- ajax進度條 非同步下載進度條非同步
- 直播平臺軟體開發,讓原本沒有進度條的頁面顯示進度條
- Android - 蝸牛進度條Android
- JavaScript百分比動態進度條JavaScript
- svg環形百分比進度條SVG
- Qt 進度條QT
- OSS實現檔案下載進度條顯示