來自定義一個矩形的進度條
initPaint();
// 邊長
int length = getMeasuredWidth();
// 周長
int perimeter = 4 * length;
Rect rect = new Rect(0, 0, length, length);
canvas.drawRect(rect, paint);
paint.setStrokeWidth(progressWidth);
paint.setColor(progressColor);
int progress_validity = checkProgressValidity(progress);
Log.e("muxi", "progress_validity:" + progress_validity);
switch (progress_validity) {
case PROGRESS_FLAT:
break;
case PROGRESS_HIGH:
// 畫滿進度
canvas.drawRect(rect, paint);
break;
default:
// paint.setStrokeWidth(progressWidth);
// paint.setColor(progressColor);
// 根據進度畫進度條
Log.e("muxi", "progress:" + progress);
float specific_value = progress / 100f;
// Log.e("muxi", "比值:"+specific_value);
float progress_length = specific_value * perimeter;
// Log.e("muxi", "進度條長度:"+progress_length);
// 第幾條邊開始
int side_sn = (int) (progress_length / length);
// 從當前邊開始畫多長
float side_length = progress_length % (float) length;
if (side_sn == 0) {
canvas.drawLine(0, 0, side_length, 0, paint);
} else if (side_sn == 1) {
canvas.drawLine(0, 0, length, 0, paint);
canvas.drawLine(length, 0, length, side_length, paint);
} else if (side_sn == 2) {
canvas.drawLine(0, 0, length, 0, paint);
canvas.drawLine(length, 0, length, length, paint);
canvas.drawLine(length, length, length - side_length, length,
paint);
} else {
canvas.drawLine(0, 0, length, 0, paint);
canvas.drawLine(length, 0, length, length, paint);
canvas.drawLine(length, length, 0, length, paint);
canvas.drawLine(0, length, 0, length - side_length, paint);
}
break;
}
}
相關推薦
來自定義一個矩形的進度條
protected void onDraw(Canvas canvas) {initPaint();// 邊長int length = getMeasuredWidth();// 周長int perimeter = 4 * length;Rect rect = new Rect(0, 0, length,
Android開發自定義控制元件實現一個圓形進度條【帶數值和動畫】
實現一個如下圖所示的自定義控制元件,可以直觀地展示某個球隊在某個賽季的積分數和勝場、負場、平局數 首先對畫布進行區域劃分,整個控制元件分上下兩部分 上邊是個大的圓環,圓環中間兩行文字,沒什麼難度,選好圓心座標和半徑後直接繪製即可,繪製文字也是如此。 下部分是三個小的圓弧進
自定義一個帶進度值的圓形進度條
專案中有時候我們為了博得使用者的眼球,需要自定義一些好看的控制元件,下面記錄一個自定義帶進度值的圓形進度條 先上效果 下面記錄具體的實現過程 在Android studio下新建一個project,然後新建一個CircleProgressView,繼承系統的view,然後
Android繪圖:自定義View之——矩形進度條、圓環進度條、填充型進度條、時鐘
主函式 這幾種進度條的主函式都是類似的,所以下面我只給出了一個填充型進度條的主函式,其他幾個主函式只是在這基礎上改動一下按鈕id(即與各自佈局裡面的id相同即可),還有改動一下相對應的類即可。 public class MainActivity
自定義view圓形進度條,矩形與二維碼
主介面佈局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width
手把手教你實現一個 Vue 進度條組件!
內容 分享圖片 軟件 pen export padding eight 自己 自動完成 最近在個人的項目中,想對頁面之間跳轉的過程進行優化,想到了很多文檔或 npm 等都用到的頁面跳轉進度條,於是便想自己去實現一個,特此記錄。 來看下 npm 搜索組件時候的效果: so
手把手教你實現一個 Vue 進度條元件!
最近在個人的專案中,想對頁面之間跳轉的過程進行優化,想到了很多文件或 npm 等都用到的頁面跳轉進度條,於是便想自己去實現一個,特此記錄。 來看下 npm 搜尋元件時候的效果: so 下面咱們一起動手實現一下唄。 定義使用方式 想實現一個元件的前提,一定要想好你的需求是什麼,還要自己去定義一
自定義View載入進度條首頁面
1.主頁面佈局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:
python實現使用者自定義一個矩形的輸出
補充知識:python中的print 函式在列印的時候末尾會自動補全換行,python3.0以上版本可以用 print(‘abc’,end = ‘’)來換掉換行,直接再一行中列印 如果不加end的話,最後一個預設值是\n,如果加了end=’’,就把\n給去掉了,變成一個空的字串print()
Android自定義View-圓形進度條
好幾天不寫部落格了,這段時間一直沒時間,感覺一直在忙,但是進度不大。 好了,言歸正傳,最近專案裡要用到這麼一個自定義view,是一個圓形的進度圓環,現在學習下怎麼來自定義它。 原始碼下載地址 自定義之前先分析一下,這個自定義View主要有以下幾
android自定義的弧形進度條和圓形進度條-SemicircleProgress
SemicircleProgress 兩個自定義圓形和弧形進度條 第一個SemicircleProgress可以對中間和下面的字自定義 第二個CircularProgressar可
android自定義ProgressBar 修改進度條樣式 出現setProgress無效問題
在很多時候android系統提供的進度條樣式是不足以滿足我們的需求的,因此在大多數的時候,我們為了美觀,亦或者為了實現自己的功能,需要在系統的基礎上進行修改其樣式,當然你也可以自己從頭寫一個,不過個人覺得還是比較麻煩,好吧,廢話不多說了,進入正題。 昨天在做一個下載功能時,
自定義Qt圓形進度條
主要程式碼: #include "diaplot.h" #include "qpainter.h" #include "qdebug.h" DialPlot::DialPlot(QWidget *parent) : QWidget(parent) {
自定義View圓形進度條 跳轉頁面
效果展示 1.匯入依賴 implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 2.建立自定義Vie
自定義弧形漸變進度條功能
/** * 畫筆物件的引用 */ private Paint paint; private Paint smallcicrlPaint; /** 分段顏色 */ private static final int[] SECTION_COLORS = {
安卓自定義圓環進度條的顯示
效果如上圖所示關鍵點:1.需要解決的問題是 自定義view的 適配問題 在不同的 手機上 顯示出來的效果一致2.所需要的 工具類 一個轉換工具 px與dp之間的互轉package com.shenlei.servicemoneynew.util; import androi
Android自定義View--圓形進度條RoundProgress
要實現的效果 需要知道的知識點 字型的高度和寬度是怎麼測? 字型的高度就是textSize的大小。 字型的寬度怎麼測量呢?Paint畫筆中有測量字型寬度的api,如下: //測量字型的寬度 float width =
Android 自定義 View 圓形進度條總結
Android 自定義圓形進度條總結 最近擼了一個圓形進度條的開源專案,算是第一次完完整整的使用自定義 View 。在此對專案開發思路做個小結,歡迎大家 Star 和 Fork 該專案總共實現了三種圓形進度條效果 CircleProgress:圓形進度條,可以實現仿 QQ
自定義圓環進度條
一:動畫效果: 二:原始碼: (1)res/values/attrs.xml: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable
jquery寫的一個小進度條
前兩天在知乎上看到有人問這種進度條的做法,就自己寫了寫。 百度了才知道設定float後要給子元素設定position為absolute或者relative才能使z-index有效。在cs