请选择 进入手机版 | 继续访问电脑版
查看: 3044|回复: 21

[教程] [无脑码农CrossApp笔记]--CAProgress进度条

[复制链接]
最佳答案
0 
无脑码农 发表于 2015-4-1 10:23:37 | 显示全部楼层 |阅读模式
本帖最后由 无脑码农 于 2015-5-27 11:55 编辑


本节在线视频地址:http://edu.9miao.com/course/1
CAProgress是进度条控件,主要用于显示任务进度。
函数 说明
void setProgress(float progress)         设置进度的值范围0~1之间的浮点数
float getProgress()         获得当期的进度值
void setProgressStyle(const CrossApp:: CAProgressStyle &var)        设置进度条的样式  

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

首先我们在FirstViewController.h添加一个定时器函数
  1.     //定时器函数
  2.         void updateProgressValue(float dt);
复制代码
然后在FirstViewController.cpp中添加一下代码:
  1. void FirstViewController::viewDidLoad()
  2. {
  3.     // Do any additional setup after loading the view from its nib.
  4.         CCSize size = this->getView()->getBounds().size;

  5.         CAProgress* progress = CAProgress::create();
  6.         //设置进度条样式
  7.         progress->setProgressStyle(CAProgressStyle::CAProgressStyleBar);
  8.         //设置显示区域
  9.         progress->setCenter(CCRect(size.width * 0.5,  200, 300, 60));
  10.         //设置进度值(0--1)之间的float
  11.         progress->setProgress(0.5f);
  12.         //设置进度的颜色
  13.         progress->setProgressTintColor(CAColor_orange);
  14.         //设置进度的图片
  15.         //progress->setProgressTintImage(CAImage::create("source_material/btn_rounded_highlighted.png"));
  16.         //设置背景的颜色
  17.         progress->setProgresstrackColor(CAColor_yellow);
  18.         //设置背景的图片
  19.         //progress->setProgressTrackImage(CAImage::create("source_material/btn_rounded3D_selected.png"));
  20.         //设置tag值
  21.         progress->setTag(1);
  22.         //添加到屏幕
  23.         this->getView()->addSubview(progress);
  24.        
  25.         //创建Label用于显示progress的值
  26.         CALabel* label = CALabel::createWithCenter(CCRect(size.width * 0.5, 100, 200, 100));
  27.         //水平剧中
  28.         label->setTextAlignment(CATextAlignmentCenter);
  29.         //显示progress的值
  30.         label->setText(CCString::createWithFormat("Progress:%.02f", progress->getProgress())->getCString());
  31.         //设置tag值
  32.         label->setTag(2);
  33.         //添加到屏幕
  34.         this->getView()->addSubview(label);
  35.        
  36.         //启动定时器,间隔0.05秒调用
  37.         CAScheduler::schedule(schedule_selector(FirstViewController::updateProgressValue), this, 0.05, false);
  38. }

  39. //定时器函数
  40. void FirstViewController::updateProgressValue(float dt)
  41. {
  42.         //根据tag获得progress对象
  43.         CAProgress* progress = (CAProgress*) this->getView()->getSubviewByTag(1);
  44.         //获得progress的值
  45.         float value = progress->getProgress();
  46.        
  47.         if (value < 1.0f)
  48.         {
  49.                 value = value + 0.01;
  50.         }
  51.         else
  52.         {
  53.                 value = 0;
  54.         }
  55.         //赋值
  56.         progress->setProgress(value);

  57.         //根据tag获得label
  58.         CALabel* label = (CALabel*)this->getView()->getSubviewByTag(2);
  59.         //显示value值
  60.         label->setText(CCString::createWithFormat("Progress:%.02f", value)->getCString());
  61. }
复制代码
最佳答案
0 
ailialy 发表于 2015-4-1 10:28:54 | 显示全部楼层
顶, 码农好棒!!!
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:29:32 | 显示全部楼层
好000000000000000000000000000000
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:30:12 | 显示全部楼层
师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼
最佳答案
0 
SkyMing 发表于 2015-4-1 10:30:17 | 显示全部楼层
码农太好了!
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:30:18 | 显示全部楼层
师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:30:24 | 显示全部楼层
师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:30:30 | 显示全部楼层
师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:30:37 | 显示全部楼层
师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼
最佳答案
0 
抱大鸡蛋大腿 发表于 2015-4-1 10:30:44 | 显示全部楼层
师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼师兄牛逼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

推荐阅读 More>

© 2001-2015 9秒社团

合作伙伴

公司简介 | 联系方式
COPYRIGHT©2015 ZHONGQINGLONGTU NETWORK CO.LTD ALL RIGHTS RESERVED.ICP备11023195号-4
北京中清龙图网络技术有限公司
返回顶部 返回列表