setBindStateChangedListener(Component.BindStateChangedListener)
方法说明:该组件是否添加到窗口的组件树上
findComponentById(ResourceTable.Id_text_helloworld).setBindStateChangedListener(new Component.BindStateChangedListener() { @Override public void onComponentBoundToWindow(Component component) { //todo 当组件绑定到窗口时调用 } @Override public void onComponentUnboundFromWindow(Component component) { //todo 当组件从窗口解除绑定时调用。 } });
问题1:调用TextField.getLineCount()获取行数闪退
问题2:怎么使用getLineCount(),
问题1:调用TextField.getLineCount()获取行数闪退
答:
参考如下链接
https://developer.harmonyos.com/cn/docs/documentation/doc-references/text-0000001054838676#ZH-CN_TOPIC_0000001054838676__getLineCount--
此api从Api Version 7 开始支持
问题2:怎么使用getLineCount(),
答:
代码如下
textField.setBindStateChangedListener(new Component.BindStateChangedListener() { @Override public void onComponentBoundToWindow(Component component) { int count1=textField.getLineCount(); Text mytext=findComponentById(ResourceTable.Id_mytext); mytext.setText("#####行数"+count1); } @Override public void onComponentUnboundFromWindow(Component component) { } });
首页有个动画-安装应用后自动启动动画,执行启动的代码,然后该动画不能启动,单给在点击事件中执行动画的代码,动画生效,这是什么原因?应该怎么处理呢?
当组件没有添加到窗口的组件树,支持该动画是不生效,需要监听该组件是否添加到窗口的组件树上,代码如下
findComponentById(ResourceTable.Id_text_helloworld).setBindStateChangedListener(new Component.BindStateChangedListener() { @Override public void onComponentBoundToWindow(Component component) { AnimationImage = findComponentById(ResourceTable.Id_text_helloworld); AnimationImage.setRotation(0); AnimatorProperty animator = AnimationImage.createAnimatorProperty(); animator.setCurveType(Animator.CurveType.LINEAR); animator.setLoopedCount(AnimatorValue.INFINITE); animator.rotate(360); animator.setDuration(10000); animator.start(); } @Override public void onComponentUnboundFromWindow(Component component) { } });
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh