课程表

入门与环境搭建

简单控件的使用

视图控制

调用、存储、网络和动画

其他控件的使用

工具箱
速查手册

CAProgress(进度条)

当前位置:免费教程 » 移动开发 » CrossApp

类说明

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


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

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


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

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


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. DSize size = this->getView()->getBounds().size;
  5. CAProgress* progress = CAProgress::create();
  6. //设置显示区域
  7. progress->setCenter(DRect(size.width * 0.5, 200, 300, 60));
  8. //设置进度值(0--1)之间的float
  9. progress->setProgress(0.5f);
  10. //设置进度的颜色
  11. progress->setProgressTintColor(CAColor_orange);
  12. //设置进度的图片
  13. //progress->setProgressTintImage(CAImage::create("source_material/btn_rounded_highlighted.png"));
  14. //设置背景的颜色
  15. progress->setProgresstrackColor(CAColor_yellow);
  16. //设置背景的图片
  17. //progress->setProgressTrackImage(CAImage::create("source_material/btn_rounded3D_selected.png"));
  18. //设置tag值
  19. progress->setTag(1);
  20. //添加到屏幕
  21. this->getView()->addSubview(progress);
  22. //创建Label用于显示progress的值
  23. CALabel* label = CALabel::createWithCenter(DRect(size.width * 0.5, 100, 200, 100));
  24. //水平剧中
  25. label->setTextAlignment(CATextAlignmentCenter);
  26. //显示progress的值
  27. label->setText(crossapp_format_string("Progress:%.02f"));
  28. //设置tag值
  29. label->setTag(2);
  30. //添加到屏幕
  31. this->getView()->addSubview(label);
  32. //启动定时器,间隔0.05秒调用
  33. CAScheduler::schedule(schedule_selector(FirstViewController::updateProgressValue), this, 0.05, false);
  34. }
  35. //定时器函数
  36. void FirstViewController::updateProgressValue(float dt)
  37. {
  38. //根据tag获得progress对象
  39. CAProgress* progress = (CAProgress*) this->getView()->getSubviewByTag(1);
  40. //获得progress的值
  41. float value = progress->getProgress();
  42. if (value < 1.0f)
  43. {
  44. value = value + 0.01;
  45. }
  46. else
  47. {
  48. value = 0;
  49. }
  50. //赋值
  51. progress->setProgress(value);
  52. //根据tag获得label
  53. CALabel* label = (CALabel*)this->getView()->getSubviewByTag(2);
  54. //显示value值
  55. label->setText(crossapp_format_string("Progress:%.02f", value));
  56. }


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

参数:

解释:获取进度

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号