当前位置:   article > 正文

[HarmonyOS]——TickTime定时器组件(显示类组件)_ticktime中文说明书

ticktime中文说明书

定时器开关在目前生活中也很常用,用于定时计算有限时间内干了多少事情。

  • 其他注意:alt + shift + ↑或↓,用于调整代码上下移动

1、简单使用

通过使用的案例实现来分析定时器组件的使用方法

  • 本次目标:用来个按钮(开始 和 结束)来操作定时器组件,以实现定时器开始计时和结束计时的操作

 

XML中对组建的定义:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <DirectionalLayout
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos"
  4. ohos:height="match_parent"
  5. ohos:width="match_parent"
  6. ohos:orientation="vertical">
  7. <TickTimer
  8. ohos:id="$+id:ticktimer"
  9. ohos:height="match_content"
  10. ohos:width="match_content"
  11. ohos:text_size="30fp"
  12. ohos:text_color="#FFFFFF"
  13. ohos:background_element="#0000FF"
  14. ohos:text_alignment="center"
  15. ohos:layout_alignment="center"
  16. />
  17. <Button
  18. ohos:id="$+id:start"
  19. ohos:height="match_content"
  20. ohos:width="match_content"
  21. ohos:text="开始"
  22. ohos:text_size="30fp"
  23. ohos:text_color="#FFFFFF"
  24. ohos:background_element="#666600"
  25. ohos:text_alignment="center"
  26. ohos:layout_alignment="center"
  27. ohos:top_margin="30vp"
  28. />
  29. <Button
  30. ohos:id="$+id:end"
  31. ohos:height="match_content"
  32. ohos:width="match_content"
  33. ohos:text="结束"
  34. ohos:text_size="30fp"
  35. ohos:text_color="#FFFFFF"
  36. ohos:background_element="#666600"
  37. ohos:text_alignment="center"
  38. ohos:layout_alignment="center"
  39. ohos:top_margin="30vp"
  40. />
  41. </DirectionalLayout>

Java业务逻辑实现:

  1. public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener {
  2. TickTimer tickTimer = null;
  3. Button start = null;
  4. Button end = null;
  5. @Override
  6. public void onStart(Intent intent) {
  7. super.onStart(intent);
  8. super.setUIContent(ResourceTable.Layout_ability_main);
  9. //1、找到组件
  10. tickTimer = (TickTimer) findComponentById(ResourceTable.Id_ticktimer);
  11. start = (Button) findComponentById(ResourceTable.Id_start);
  12. end = (Button) findComponentById(ResourceTable.Id_end);
  13. //2、按钮绑定事件
  14. start.setClickedListener(this);
  15. end.setClickedListener(this);
  16. //3、定时器基本设置
  17. //计时顺序设置:false正向计时(0,1,2);true反向计时
  18. tickTimer.setCountDown(false);
  19. //设置计时格式,默认格式: mm:ss
  20. tickTimer.setFormat("mm:ss");
  21. }
  22. @Override
  23. public void onActive() {
  24. super.onActive();
  25. }
  26. @Override
  27. public void onForeground(Intent intent) {
  28. super.onForeground(intent);
  29. }
  30. @Override
  31. //参数代表被点击的按钮对象
  32. public void onClick(Component component) {
  33. if(component == start) {
  34. //开始计时
  35. tickTimer.start();
  36. } else if(component == end) {
  37. //结束计时
  38. tickTimer.stop();
  39. }
  40. }
  41. }

2、组件小bug

bug1:

bug1: 设置计时顺序后,如果是false并不会从0开始计时

  • 计时顺序设置:false正向计时(0,1,2);true反向计时
  • tickTimer.setCountDown(false);

bug2:

bug2:基准时间设置问题

  • 设置基准事件(从那个时间开始计时),如果没有设置基准时间默认从原点时间开始计时
  • 如果参数设置为0,表示从当前时间开始计时
  • 如果参数设置为非0,只是对当前时间做了一个减少
  • tickTimer.setBaseTime(xxx);

组件使用建议:

  • 不要使用setBaseTime设置基准时间
  • 计时器一旦结束后,就不要重新开始了(也即每个定时器只使用一次)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/314327
推荐阅读
相关标签
  

闽ICP备14008679号