类说明
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 属性说明
类型:CAColor4B
解释:设置进度的颜色。set/get{}。
类型:CAColor4B
解释:设置背景的颜色。set/get{}。
类型:CAImage*
解释:设置进度的图片。set/get{}。
类型:CAImage*
解释:设置背景的图片。set/get{}。
CAProgress 方法说明
返回值:bool
参数:
解释:初始化
返回值: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
参数:
| 类型 | 参数名 | 说明 | 
| float | progress | 进度值 | 
| bool | animated = false | 是否显示动画 | 
解释:设置进度
返回值:float
参数:
解释:获取进度