一起Talk Android吧(第五百零九回:约束布局中的组功能一)
创始人
2024-05-27 04:10:49

文章目录

  • 功能介绍
  • 使用方法
    • Group
    • Layer
  • 对比总结

各位看官们大家好,上一回中咱们说的例子是"多层布局功能",这一回中咱们说的例子是"约束布局中的组功能"。闲话休提,言归正转, 让我们一起Talk Android吧!

功能介绍

我们在这里说的组功能表示把多个组件组合在一起形成一个组,然后通过组来统一管理组内的控件。而且我们讨论的组功能只限于约束布局内,其它布局暂时不讨论。

使用方法

Group

约束布局提供了Group表示一个组,使用时可以在布局管理器中选择多个组件,然后点击右键->Helper->Group,会自动把所有的组件放到一个组中。该操作会生成以
以下代码:

 

代码中的constraint_referenced_ids属性中有多个id值,这些id就是我们在布局管理器中选择的组件。

如果大家不喜欢使用布局管理器,也可以直接在xml中输入上面的代码,然后手动把其它组件的id赋值给constraint_referenced_ids属性。

这两种方法实现的效果相同,只是一种是通过布局管理器自动创建Group,另外一种是通过代码手动创建Group.注意:不管使用哪种方法,都需要修改组的id,方便以后使用。

组创建好以后,可以在Group中通过visibility属性来控制组的显示和隐藏功能,比如:示例代码中给该属性赋值为invisible后,组的控件全部被隐藏了。

目前只发现Group有显示和隐藏组件的功能,Group的长度,对齐等属性都没有效果,背景色属性也没有效果,ObjectAnimator动画更是没有效果.

Layer

除了上面介绍的组外,约束布局还提供了Layer表示一个组,它和Group的用法完全相同,可以通过布局管理器添加,也可以直接通过代码实现,下面是示例代码:



Group通过组件的ID来包含组件,Layer也是,它们使用相同的属性:constraint_referenced_ids.

我在约束布局推出之前经常使用线性布局中来包含多个组件构成一个组,然后通过组统一管理多个组件,比如统一设置背景色;现在使用Layer可以实现此功能,它还可以添加监听器来响应事件,也可以设置动画.这些功能是Group所不具备的.

对比总结

我们介绍了两种组:GroupLayer. 其中Group只能单纯地用来显示或者隐藏组内的控件;而Layer可以设置背景色,绑定ObjectAnimaor动画。这些功能是非常适用的功能。相比之下,Layer的功能比Group的功能更加强大。我更加推荐大家使用Layer.

注意:不论是Group还是Layer都只能在约束布局中使用。

看官们,关于"约束布局中的组功能"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...