首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安卓操作系统下,HarmonyOS对onMeasure的替代功能是什么?

在安卓操作系统下,HarmonyOS对onMeasure的替代功能是什么?
EN

Stack Overflow用户
提问于 2021-07-26 05:07:01
回答 1查看 101关注 0票数 1

我正在使用Java在HarmonyOS中编写一个自定义组件。为了协商Android中自定义视图的宽度和高度,我们重写了onMeasure()

代码语言:javascript
复制
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {}

在HarmonyOS中,有什么可供选择的方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-26 05:51:10

在Android中,onMeasure()是一个在视图类中可用的受保护的方法,因此可以通过扩展视图类在定制组件中直接覆盖它。

作为HarmonyOS中的另一种选择,您必须在自定义组件中实现Component.EstimateSizeListener,然后用overriden函数onEstimateSize编写实现。

所以在Android中,当你有这样的代码时-

代码语言:javascript
复制
public class CustomView extends View {

   public CustomView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
   }

   @Override
   protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
   }
}

协调代码更改将是-

代码语言:javascript
复制
public class CustomComponent implements ComponentContainer.EstimateSizeListener

public CustomComponent(Context context, AttrSet attrSet, String styleName) {
       super(context, attrSet, styleName);
       setEstimateSizeListener(this); //set the listener here
   }

   @Override
   public boolean onEstimateSize(int widthEstimatedConfig, int heightEstimatedConfig) {
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68524730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档