JSRUN 用代码说话

CAProgress(进度条)

编辑教程

CAProgress(进度条)

类说明

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

参数:

类型 参数名 说明
float progress 进度值
bool animated = false 是否显示动画

解释:设置进度

float getProgress();

返回值:float

参数:

解释:获取进度

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟