-

类说明

CAProgress是进度条控件,主要用于显示任务进度。


CAProgress 属性(点击查看方法介绍)

属性说明
ProgressTintColor设置进度的颜色
ProgressTrackColor设置背景的颜色
ProgressTintImage设置进度的图片
ProgressTrackImage设置背景的图片


CAProgress 方法(点击查看方法介绍)

方法说明
init初始化
create创建,默认Frame为(0,0,0,0)
setColor设置进度条颜色
setProgress设置进度
getProgress获取进度


CAProgress是一个很简单的控件,其使用方式也比较便捷,我们只需要在相应的逻辑里对齐值进行增减便可以了,下面我们的实例中,就演示了在CrossApp的定时器中,每间隔一段时间增减CAProgress的值,当CAProgress值超过最大时设置为0的循环演示。


首先我们在FirstViewController.h添加一个定时器函数

//定时器函数
    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();
     
    //设置显示区域
    progress->setCenter(DRect(size.width * 0.5,  200, 300, 60));
     
    //设置进度值(0--1)之间的float
    progress->setProgress(0.5f);
     
    //设置进度的颜色
    progress->setProgressTintColor(CAColor_orange);
     
    //设置进度的图片
    //progress->setProgressTintImage(CAImage::create("source_material/btn_rounded_highlighted.png"));
     
    //设置背景的颜色
    progress->setProgresstrackColor(CAColor_yellow);
    
    //设置背景的图片
    //progress->setProgressTrackImage(CAImage::create("source_material/btn_rounded3D_selected.png"));
    
    //设置tag值
    progress->setTag(1);
    
    //添加到屏幕
    this->getView()->addSubview(progress);
     
    //创建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"));
     
    //设置tag值
    label->setTag(2);
    
    //添加到屏幕
    this->getView()->addSubview(label);
     
    //启动定时器,间隔0.05秒调用
    CAScheduler::schedule(schedule_selector(FirstViewController::updateProgressValue), this, 0.05, false);
}
     
//定时器函数
void FirstViewController::updateProgressValue(float dt)
{
    //根据tag获得progress对象
    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);
     
    //根据tag获得label
    CALabel* label = (CALabel*)this->getView()->getSubviewByTag(2);
     
    //显示value值
    label->setText(crossapp_format_string("Progress:%.02f", value));
}


CAProgress 属性说明

ProgressTintColor

类型:CAColor4B

解释:设置进度的颜色。set/get{}。


ProgressTrackColor

类型:CAColor4B

解释:设置背景的颜色。set/get{}。


ProgressTintImage

类型:CAImage*

解释:设置进度的图片。set/get{}。


ProgressTrackImage

类型:CAImage*

解释:设置背景的图片。set/get{}。


CAProgress 方法说明

bool init();

返回值:bool

参数:

解释:初始化


static CAProgress* create();

返回值:static CAProgress*

参数:

解释:创建,默认Frame为(0,0,0,0)


virtual void setColor(const CAColor4B& color);

返回值:virtual void

参数:

类型
参数名
说明
const CAColor4B&color颜色

解释:设置进度条颜色


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

返回值:void

参数:

类型
参数名
说明
floatprogress进度值
boolanimated = false是否显示动画

解释:设置进度


float getProgress();

返回值:float

参数:

解释:获取进度