类说明
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
参数:
解释:获取进度