yang131

导航

关于GUI的一个事情

目前从事鸿蒙的一个工作,发现ArkUI虽然用了@State来标记一个变量然后当变量值改变的时候变量开始界面更新,所以当你想直接访问UI的时候是不太方便的。

而我自己用的UI是Duilib(xml+代码的动态更新),因为我有完整的UE的蓝图界面设计的经验,这里我觉得蓝图比较符合我自己的使用经验,那就是当我需要访问界面上的一个控件的时候

可以标记其名字,为了简化,之前子控件需要层层遍历名字才能得到子控件的对象,我这里会对带有name标记的控件直接记录到根窗口(也可以是当前控件)上,然后再强转类型,这样就能得到和蓝图类似的结果

比如:我们在xml的窗口上加一个context子控件,然后给定名字,然后在cpp里面实现一个个GetChildByName(); 然后再reinterpreter_cast<对应类型*>即可。

我们再.xml预先定制好所有控件,然后给name,然后控制其visible,大概可以模拟出大部分效果,如果需要动态创建,则也赋值名字然后拿来维护即可。

 

posted on 2024-11-23 12:48  NoNight  阅读(6)  评论(0编辑  收藏  举报