> 文档中心 > 【HarmonyOS应用开发】【HCIA认证】模拟题每日1练(第7题)

【HarmonyOS应用开发】【HCIA认证】模拟题每日1练(第7题)

 

这道题考查的是组件的可见性。在布局文件中,属性visibility有三个取值,分别是:hide、invisible、visible,如下图所示:

 

其中,hide和invisible都可以将组件设置为不可见,两者的区别在于:hide不会占据布局的空间,而invisible会占据布局的空间。我们接下来试试看。

首先,将属性值设置为visible,刷新预览窗口,此时,绿色的组件Text是可见的。然后,将属性值修改为hide,刷新预览窗口,绿色的组件Text变为不可见,不再占据布局的空间,其空间被红色的组件Text所占据。接下来,将属性值修改为invisible,刷新预览窗口,绿色的组件Text变为不可见,仍然占据布局的空间。

在Java代码中也可以进行设置。打开MainAbilitySlice,如下图所示:

 

首先,根据资源id获得对应的组件Text,然后调用方法setVisibility()设置组件Text的可见性,方法的参数有三个取值,分别是:Component.HIDE、Component.INVISIBLE、Component.VISIBLE,与布局文件中的三个属性值相对应。

对于组件的可见性,我们既可以在布局文件中进行设置,也可以在Java代码中进行设置。大家注意:如果同时进行了设置,以Java代码为准,因为Java代码会覆盖布局文件中的设置。我们可以试试看。布局文件中设置为invisible,在Java代码中我们设置为Component.HIDE。刷新预览窗口,绿色的组件Text变为不可见,不再占据布局的空间,这说明布局文件中的设置没有起作用。

因此,这道题的答案是:A、D。

开发者涨薪指南 【HarmonyOS应用开发】【HCIA认证】模拟题每日1练(第7题) 48位大咖的思考法则、工作方式、逻辑体系PDF转换