OpenHarmony开源社区
直播中

ss

8年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[问答]

ListContainer代码获取高度不准怎么解决?

int listContainerHeight = listContainer.getHeight();

通过这个方法获得的方法,返回的数据和实际数据不一样,
有类似于安卓mContainer.getLayoutParams().height的方法吗?
在原生安卓下mContainer.getHeight()获取的数据也是不准确的。
要用到mContainer.getLayoutParams().height才能获得准确高度。

回帖(1)

ss

2022-3-23 10:21:05
需手动计算listcontainer高度,可参考以下代码:
private void setListContainerHeight(ListContainer listContainer){
        if(listContainer == null){
            return;
        }
        BaseItemProvider itemProvider = listContainer.getItemProvider();
        if(itemProvider == null){
            return;
        }
        int totalHeight = 0;
        for (int i = 0; i < itemProvider.getCount(); i++) {
            Component component = itemProvider.getComponent(i, null, listContainer);
            component.estimateSize(0,0);
            totalHeight += component.getEstimatedHeight();
        }
        ComponentContainer.LayoutConfig layoutConfig = listContainer.getLayoutConfig();
        layoutConfig.height = totalHeight;
        listContainer.setLayoutConfig(layoutConfig);
    }

举报

更多回帖

发帖
×
20
完善资料,
赚取积分