Android动态布局之ConstraintLayout(通过代码参数控制子View的布局...

Android动态布局之ConstraintLayout(通过代码参数控制子View的布局...

2023年7月13日发(作者:)

Android动态布局之ConstraintLayout(通过代码参数控制⼦View的布局)Constraintlayout布局如今已是Android的默认布局,它的优势是具有⾮常良好的屏幕适配特性和灵活的布局风格,既可通过传统的⽂档控制,⼜可以通过可视化⼯具来构建布局。关于Constraintlayout的详细介绍和使⽤⽅法可以参 。接下来进⼊正题:众所周知,像RelativeLayout这样的布局可以通过addRule()动态的把⼦View布局到特定的位置。可能有的看官会说:”我⼀开始就把布局写在⾥不⾏吗?“ 既然这样,我们不妨设想下你接到⼀个需求,你有两个按钮从左到右分别为btn_one和btn_two,点击btn_one后该按钮会跑到btn_two的右边,点击btn_two后该按钮会跑到btn_one的左边(实际需求⼀定还会更加复杂)。所以xml控制的静态布局是有弊端的,这时通过代码实现的动态布局就派上了⽤场,类似的还有outParams(layoutParams)也是如此。那么Constraintlayout可以实现类似的动态布局吗?这答案当然是肯定的,Constraintlayout不仅能实现动态布局,还能在动态布局的基础上进⾏view动画。接下来我们就详细介绍下:⾸先介绍ConstraintSet对象。它是⼀个ConstraintLayout 内所有⼦元素的约束条件、也包括外边距和内边距。你可以使⽤ConstraintSet对象在代码中实时更新你ConstraintLayout 内所有⼦元素的布局,从⽽达到动态布局的效果。要使⽤要使⽤ ConstraintSet需要指定两个xml布局⽂件,⼀个是初始布局(例如:activity_),另⼀个是变化后的布局(这⾥我命名为:constraint_)。如下为 Constraintlayout的动态布局Demo:1. 在activity_中,我们为布局的创建了⼀个 android:id="@+id/constraint_one" id, 其次就是⼀个Button和TextView,初始时Button在TextView上⽅,当我们点击按钮后该Button会移动到TextView下⽅,具体布局⽂件代码如下:

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信