自定義條形進度條StripProgressBar

2021-08-27 17:36:44 字數 2021 閱讀 3590

像遊戲一樣的進度條很常用到,我們簡單製作如下:

(1)自定義控制項:

package com.yiduoyun.tiku.view;

import android.content.context;

import android.util.attributeset;

import android.view.layoutinflater;

import android.view.view;

import android.widget.framelayout;

import android.widget.linearlayout;

import android.widget.textview;

import com.yiduoyun.tiku.r;

import com.yiduoyun.tiku.util.clog;

/** * 條形進度條

* @author chenwenbiao

* @date 2014-4-14 上午10:40:34

* @version v1.0

*/public class stripprogressbar extends framelayout

public stripprogressbar(context context, attributeset attrs)

public stripprogressbar(context context, attributeset attrs, int defstyle)

@override

public void onlayout(boolean changed, int left, int top, int right, int bottom)

@override

public void onwindowfocuschanged(boolean haswindowfocus)

/*** 進度,從一到100數字來表示

* @param progress

*/public void setprogress(int progress)

else if(w < min)

android.widget.relativelayout.layoutparams params = (android.widget.relativelayout.layoutparams)p2.getlayoutparams();

params.width = w;

p2.setlayoutparams(params); }

/*** 設定進度條顯示的數字

* @param text

*/public void settext(string text)

}

(2)布局檔案strip_progress_bar.xml:

<?xml version="1.0" encoding="utf-8"?>

3 進度條背景shape_progress_bar_1.xml

<?xml version="1.0" encoding="utf-8"?>

4 進度條背景shape_progress_bar_2.xml

<?xml version="1.0" encoding="utf-8"?>

5.dimens.xml

10dp

6使用很簡單:

stripprogressbar pb_exp = (stripprogressbar) findviewbyid(r.id.pb_exp);

pb_exp.settext("level: " + level); //設定經驗條中的等級資訊

pb_exp.setprogress(petexpandlevelcount.getpercentfromexp(experience, level)); //設定當前進度

效果圖如下:

自定義進度條

自定義進度條 1 繪製底色 灰色 2 繪製進度 藍色 3 繪製最大的進度 純藍色 rectf rf new rectf 0,0,mwidth,mheight 繪製圓角矩形,背景色為畫筆顏色 mpaint.setcolor color.rgb 220,220,220 canvas.drawroundr...

自定義圓形進度條,繪製進度條

inte ce hmprogressview property nonatomic,weak uilabel label end implementation hmprogressview self drawrect self.bounds 重新繪製 在view上做乙個重繪的標記,當下次螢幕重新整理...

自定義 ProgressBar 進度條 自定義樣式

今天學習給progressbar換個樣式,先看效果圖 c h,e d8 z f j x 原理 在xml檔案中分別定義進度條背景 第一進度顏色 第二進度顏色,然後在progressbar的android progressdrawable屬性應用即可。6 j a7 c h b k h q y g s d...