CAProgress(進(jìn)度條)

2018-08-29 16:23 更新

類說明

CAProgress是進(jìn)度條控件,主要用于顯示任務(wù)進(jìn)度。


CAProgress 屬性(點(diǎn)擊查看方法介紹)

屬性說明
ProgressTintColor設(shè)置進(jìn)度的顏色
ProgressTrackColor設(shè)置背景的顏色
ProgressTintImage設(shè)置進(jìn)度的圖片
ProgressTrackImage設(shè)置背景的圖片


CAProgress 方法(點(diǎn)擊查看方法介紹)

方法說明
init初始化
create創(chuàng)建,默認(rèn)Frame為(0,0,0,0)
setColor設(shè)置進(jìn)度條顏色
setProgress設(shè)置進(jìn)度
getProgress獲取進(jìn)度


CAProgress是一個(gè)很簡(jiǎn)單的控件,其使用方式也比較便捷,我們只需要在相應(yīng)的邏輯里對(duì)齊值進(jìn)行增減便可以了,下面我們的實(shí)例中,就演示了在CrossApp的定時(shí)器中,每間隔一段時(shí)間增減CAProgress的值,當(dāng)CAProgress值超過最大時(shí)設(shè)置為0的循環(huán)演示。


首先我們?cè)贔irstViewController.h添加一個(gè)定時(shí)器函數(shù)

//定時(shí)器函數(shù)
    void updateProgressValue(float dt);

然后在FirstViewController.cpp中添加一下代碼:

void FirstViewController::viewDidLoad()
{
    // Do any additional setup after loading the view from its nib.
    DSize size = this->getView()->getBounds().size;
    CAProgress* progress = CAProgress::create();
     
    //設(shè)置顯示區(qū)域
    progress->setCenter(DRect(size.width * 0.5,  200, 300, 60));
     
    //設(shè)置進(jìn)度值(0--1)之間的float
    progress->setProgress(0.5f);
     
    //設(shè)置進(jìn)度的顏色
    progress->setProgressTintColor(CAColor_orange);
     
    //設(shè)置進(jìn)度的圖片
    //progress->setProgressTintImage(CAImage::create("source_material/btn_rounded_highlighted.png"));
     
    //設(shè)置背景的顏色
    progress->setProgresstrackColor(CAColor_yellow);
    
    //設(shè)置背景的圖片
    //progress->setProgressTrackImage(CAImage::create("source_material/btn_rounded3D_selected.png"));
    
    //設(shè)置tag值
    progress->setTag(1);
    
    //添加到屏幕
    this->getView()->addSubview(progress);
     
    //創(chuàng)建Label用于顯示progress的值
    CALabel* label = CALabel::createWithCenter(DRect(size.width * 0.5, 100, 200, 100));
    
    //水平劇中
    label->setTextAlignment(CATextAlignmentCenter);
    
    //顯示progress的值
    label->setText(crossapp_format_string("Progress:%.02f"));
     
    //設(shè)置tag值
    label->setTag(2);
    
    //添加到屏幕
    this->getView()->addSubview(label);
     
    //啟動(dòng)定時(shí)器,間隔0.05秒調(diào)用
    CAScheduler::schedule(schedule_selector(FirstViewController::updateProgressValue), this, 0.05, false);
}
     
//定時(shí)器函數(shù)
void FirstViewController::updateProgressValue(float dt)
{
    //根據(jù)tag獲得progress對(duì)象
    CAProgress* progress = (CAProgress*) this->getView()->getSubviewByTag(1);
    
    //獲得progress的值
    float value = progress->getProgress();
     
    if (value < 1.0f)
    {
        value = value + 0.01;
    }
    else
    {
        value = 0;
    }
     
    //賦值
    progress->setProgress(value);
     
    //根據(jù)tag獲得label
    CALabel* label = (CALabel*)this->getView()->getSubviewByTag(2);
     
    //顯示value值
    label->setText(crossapp_format_string("Progress:%.02f", value));
}


CAProgress 屬性說明

ProgressTintColor

類型:CAColor4B

解釋:設(shè)置進(jìn)度的顏色。set/get{}。


ProgressTrackColor

類型:CAColor4B

解釋:設(shè)置背景的顏色。set/get{}。


ProgressTintImage

類型:CAImage*

解釋:設(shè)置進(jìn)度的圖片。set/get{}。


ProgressTrackImage

類型:CAImage*

解釋:設(shè)置背景的圖片。set/get{}。


CAProgress 方法說明

bool init();

返回值:bool

參數(shù):

解釋:初始化


static CAProgress* create();

返回值:static CAProgress*

參數(shù):

解釋:創(chuàng)建,默認(rèn)Frame為(0,0,0,0)


virtual void setColor(const CAColor4B& color);

返回值:virtual void

參數(shù):

類型
參數(shù)名
說明
const CAColor4B&color顏色

解釋:設(shè)置進(jìn)度條顏色


void setProgress(float progress, bool animated = false);

返回值:void

參數(shù):

類型
參數(shù)名
說明
floatprogress進(jìn)度值
boolanimated = false是否顯示動(dòng)畫

解釋:設(shè)置進(jìn)度


float getProgress();

返回值:float

參數(shù):

解釋:獲取進(jìn)度

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)