如何获取Ability的根容器ComponentContainer,就像android那样:getWindow().getDecorView();

如题

Ability
根布局
decorView
2021-07-08 17:37:56
浏览
1
收藏 0
回答 3
待解决
回答 3
按赞同
/
按时间
XFJingGG
2
1

1,用代码创建根布局

DirectionalLayout componentContainer = new DirectionalLayout(this);
super.setUIContent(componentContainer);

2,给根布局设置id,然后使用

Component component = getWindow().getLayoutScatter().parse(int xmlId, ComponentContainer root, boolean attachToRoot);

或许还有更好的方法,等大神来回复。

分享
微博
QQ
微信
回复
2021-07-09 09:42:19
没用的喵叔
1

参考一下:https://gitee.com/openharmony-tpc/XPopup/blob/master/library/src/main/java/com/lxj/xpopup/util/ComponentUtil.java

 

    /**
     * 获取根容器
     *
     * @param component 根容器中的任意一个控件
     * @return 根容器
     */
    public static ComponentContainer getDecorView(Component component) {
        if (component != null) {
            ComponentParent componentParent = component.getComponentParent();
            if (componentParent == null) {
                return (ComponentContainer) component;
            } else {
                return getDecorView((Component) componentParent);
            }
        } else {
            return null;
        }
    }
分享
微博
QQ
微信
回复
2021-08-19 20:30:07
Oisnull

我也想知道,怎么样获取可视区域的宽高,像android中的getWindow().getDecorView().getWindowVisibleDisplayFrame,不知道有人知道没?

分享
微博
QQ
微信
回复1
2021-08-19 16:14:17
相关问题
请问如何获取到鸿蒙布局
6629浏览 • 1回复 待解决
getWindow().setBackground用法
4818浏览 • 1回复 待解决
如何获取指定Bundle NameAbility信息
1880浏览 • 1回复 待解决
openharmony上如何获取类似android_id
4495浏览 • 1回复 待解决
如何在HSP模块切换视图
330浏览 • 1回复 待解决
怎样获取给定Bundle NameAbility信息?
276浏览 • 1回复 待解决
HarmonyOS HUKS 密钥证明证书问题
331浏览 • 1回复 待解决
HarmonyOS 子容器如何撑满父容器
207浏览 • 1回复 待解决
请问如何去掉ability转场动画?
11162浏览 • 2回复 待解决
如何隐藏容器组件溢出内容
2312浏览 • 1回复 待解决