直播系統開發,實現在進度條中顯示文字顯示進度
直播系統開發,實現在進度條中顯示文字顯示進度的相關程式碼
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原始碼
- LVGL高效顯示進度條
- 直播app開發,點選螢幕時顯示進度條APP
- 直播平臺軟體開發,讓原本沒有進度條的頁面顯示進度條
- OSS實現檔案下載進度條顯示
- 短視訊商城系統,Android進度條,自定義進度條,顯示百分比Android
- 直播平臺原始碼,通知欄中顯示滑動的進度條原始碼
- 【CLI】使用 Curl 下載檔案實時進度條顯示
- 直播平臺製作,Glide載入網路圖,進度條顯示IDE
- 記錄個簡單的進度條同步顯示方法
- 進度條和列表形式顯示的控制元件控制元件
- 直播平臺開發,載入網頁、html檔案顯示載入進度網頁HTML
- Win10系統怎麼在工作管理員顯示顯示卡溫度Win10
- vxe-upload 上傳附件顯示進度
- Python世界tqdm進度條顯示等新潮小工具推薦Python
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- vxe-upload 上傳圖片顯示進度
- win10怎麼開啟cpu溫度顯示 win10系統顯示cpu溫度如何設定Win10
- uni-app中安卓包檢查更新、新版本下載、下載進度條顯示功能實現APP安卓
- 直播app開發搭建,js進度條功能APPJS
- 解決單執行緒QT UI 載入進度條實時顯示方案記錄執行緒QTUI
- 直播電商平臺開發,css實現超出部分顯示省略號,控制文字CSS
- 系統中資料顯示進行脫敏處理
- Excel實現完成進度的進度條結果Excel
- 短視訊直播系統,非常簡易的通過python文字進度條Python
- 影片直播系統原始碼,Android EditText不顯示提示文字hint原始碼Android
- 直播商城系統原始碼,環形進度條元件原始碼元件
- 【新特性速遞】進度條,進度條,進度條
- Android花樣loading進度條(三)-配文字環形進度條Android
- golang 進度條功能實現Golang
- Simple WPF: S3實現MINIO大檔案上傳並顯示上傳進度S3
- 在vim中顯示並編輯十六進位制
- 百度地圖開發-顯示實時位置資訊 04地圖
- Android多執行緒+單執行緒+斷點續傳+進度條顯示下載Android執行緒斷點
- 文字超出顯示....
- 【聊技術】在Android中實現自適應文字大小顯示Android
- Win10 1903系統中顯示器顯示顏色垂直條紋的解決方法Win10
- 關於Spyder在高解析度顯示器下的選單圖示顯示不正確問題