直播系統開發,實現在進度條中顯示文字顯示進度
直播系統開發,實現在進度條中顯示文字顯示進度的相關程式碼
public class MyProgressBar extends ProgressBar { private String mText; private Paint mPaint; private int remain; public MyProgressBar(Context context) { super(context); initText(); } public MyProgressBar(Context context, AttributeSet attrs) { super(context, attrs); initText(); } public MyProgressBar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initText(); } @Override public synchronized void setProgress(int progress) { setText(progress); super.setProgress(progress); } @Override protected synchronized void onDraw(Canvas canvas) { super.onDraw(canvas); Rect rect = new Rect(); this.mPaint.getTextBounds(this.mText, 0, this.mText.length(), rect); int x = (getWidth() / 2) - rect.centerX(); int y = (getHeight() / 2) - rect.centerY(); canvas.drawText(this.mText, x, y, this.mPaint); } private void initText(){ this.mPaint = new Paint(); this.mPaint.setColor(Color.WHITE); this.mPaint.setAntiAlias(true); this.mPaint.setTextSize(34.f); } private void setText(int progress){ int i = (progress * 100)/this.getMax(); this.mText = String.valueOf(i) + "%("+getRemain()+" remaining)"; } public int getRemain() { return remain; } public void setRemain(int remain) { this.remain = remain; } }
首先講講Android的Rect類的使用:
構造方法:
Public Constructors
Rect ()
Create a new empty Rect.
Rect(int left, int top, int right, int bottom)
Create a new rectangle with the specified coordinates.
Rect ( Rect r)
Create a new rectangle, initialized with the values in the specified rectangle (which is left unmodified).
常用方法:
final int centerX () //獲取矩陣中心點(x,y)
Paint物件在開發過程中經常會用到,先看下Paint的常用Api
mPaint = new Paint();//初始化 mPaint.setColor(Color.RED);//設定顏色 mPaint.setARGB(255,255,255,0);//設定paint物件顏色,範圍0~255 mPaint.setAlpha(200);//設定透明度 範圍0~255 mPaint.setAntiAlias(true);//設定抗鋸齒 mPaint.setStyle(Paint.Style.STROKE);//設定描邊效果STROKE(描邊) FILL(填充) 和FILL_AND_STROKE(同時作用) mPaint.setStrokeWidth(4);//設定描邊寬度 mPaint.setStrokeCap(Paint.Cap.ROUND);//設定圓角效果 BUTT(預設) ROUND(圓角) SQUARE(方形) mPaint.setStrokeJoin(Paint.Join.MITER);//設定拐角風格 MITER(預設) ROUND(圓角填充) BEVEL(切除) mPaint.setShader(new SweepGradient(200,200,Color.BLUE,Color.RED));//設定環形渲染器(著色器) mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DARKEN));//設定圖層混合模式 mPaint.setColorFilter(new LightingColorFilter(0x00ffff,0x000000));//設定顏色過濾器 mPaint.setFilterBitmap(true);//設定雙線性過濾 mPaint.setMaskFilter(new BlurMaskFilter(10,BlurMaskFilter.Blur.NORMAL));//設定畫筆遮罩濾鏡,傳入度數和樣式 mPaint.setTextScaleX(2);//設定文字縮放倍數 預設是1 mPaint.setTextSize(38);//設定字型大小 mPaint.setTextAlign(Paint.Align.LEFT);//設定對其方式 mPaint.setUnderlineText(true);//設定下劃線 String str="Paint測試效果"; Rect rect = new Rect(); mPaint.getTextBounds(str,0,str.length(),rect);//測量文字大小,將文字大小資訊存放在rect中 mPaint.measureText(str);//獲取文字的寬 mPaint.getFontMetrics();//獲取字型度量物件
以上就是直播系統開發,實現在進度條中顯示文字顯示進度的相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2843421/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播app系統原始碼,固定速度的進度條顯示APP原始碼
- 直播app開發,點選螢幕時顯示進度條APP
- 直播平臺軟體開發,讓原本沒有進度條的頁面顯示進度條
- Java實現在控制終端顯示的字元進度條Java字元
- OSS實現檔案下載進度條顯示
- 直播平臺原始碼,通知欄中顯示滑動的進度條原始碼
- 自定義SeekBar顯示進度
- ftp下載顯示進度FTP
- 短視訊商城系統,Android進度條,自定義進度條,顯示百分比Android
- 【CLI】使用 Curl 下載檔案實時進度條顯示
- 直播平臺製作,Glide載入網路圖,進度條顯示IDE
- 進度條和列表形式顯示的控制元件控制元件
- 報表載入大資料時顯示進度條大資料
- 程式執行時,一個進度條顯示INCLUDE程式
- 記錄個簡單的進度條同步顯示方法
- 直播平臺開發,載入網頁、html檔案顯示載入進度網頁HTML
- 打造可顯示上傳內容的自定義進度條
- 【Dflying Chen 】使用ASP.NET Atlas編寫顯示真實進度的ProgressBar(進度條)控制元件ASP.NET控制元件
- 安卓自定義View實現圖片上傳進度顯示(仿QQ)安卓View
- Python世界tqdm進度條顯示等新潮小工具推薦Python
- Delphi下載指定網址(URL)的檔案,帶進度條顯示
- 自定義SeekBar 實時顯示百分比進度
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- uni-app中安卓包檢查更新、新版本下載、下載進度條顯示功能實現APP安卓
- 直播app開發搭建,js進度條功能APPJS
- win10怎麼開啟cpu溫度顯示 win10系統顯示cpu溫度如何設定Win10
- 轉:在ABAP中實現進度條的例子
- 可愛!帶有數字顯示的載入進度條效果外掛
- 基於uploadify.js實現多檔案上傳和上傳進度條的顯示JS
- 在VC++6.0開發中實現全屏顯示 (轉)C++
- 直播電商平臺開發,css實現超出部分顯示省略號,控制文字CSS
- 解決單執行緒QT UI 載入進度條實時顯示方案記錄執行緒QTUI
- 【新特性速遞】進度條,進度條,進度條
- 百度地圖開發-顯示實時位置資訊 04地圖
- 分貝顯示器,實時顯示聲音強度(附原始碼)原始碼
- 直播商城系統原始碼,環形進度條元件原始碼元件
- 直播電商平臺開發,環形進度條元件元件
- golang 進度條功能實現Golang