
回复
[ 本文正在参加星光计划3.0–夏日挑战赛 ] 本节介绍一个比较简单的计数器组件Counter,可提供相应的增加或者减少的计数操作。
Counter组件的接口不需要任何参数。
不支持通用事件和手势, 仅支持监听数值增加或减少的事件。
首先,我们定义两个变量,用于记录当前计数器的数值和设置每次点击后增减数值的步长,代码如下:
这里我设置了一个代表步长的变量step,我希望每次点击后数值在原有基础上增减10。代码如下:
在DevEco Studio中Counter()组件不被识别,代码下面飘红,但不影响编译和功能运行。如下图所示:
在本地预览器中浅色模式、中文环境中运行效果如下:
在本地预览器中深色模式、英文环境中运行效果如下:
从上面的效果中我们发现,即使我们设置了绿色的背景颜色,但是无论深色模式还是浅色模式,Counter组件都会忽视这个属性。
另外,计数器中的文字的字号会随着数值长度变大而变小。当数值达到三位以上,会折行,影响阅读,如下图所示:
解决办法是给Counter组件设置一个宽度属性:
效果如下:
本节完整代码如下:
【源码地址:https://gitee.com/cloudev/harmonyos3/tree/master/3.0/BaseComponent】