约束布局居中

问题描述

我的观点应如下所示

enter image description here

当蓝色视图消失时,我希望红色视图相对于其父视图居中

但是,蓝色视图的内容需要始终相对于其父视图居中。

理论上,我应该使蓝色视图的约束末端成为父视图,但是我需要红色视图在其中,然后将蓝色视图的宽度向左推。

如果我将blueview结束约束设为红色视图的开始,我将根据blueview而不是根据白色视图获取内容居中的位置。

我如何实现我所需要的?

解决方法

从问题的标题开始,我假设您想使用-Start来实现这一目标。在这种情况下,应该是:

$timespan = New-TimeSpan -End (Get-Date '29/2/2020').AddDays($(18 * 7))

这是一个简化的布局,但应与您的情况相对应。

,

在我看来和理论上,当视图消失时,constraintlayout会自动将视图填充到层次结构中,您唯一需要关注的就是拉伸可见视图以匹配容器的大小在这种情况下,对于布局中的内容,您可以使用线性布局并使其重心位于中心,这样即使在拉伸或居中后它们也将保持在中心 下面给出了用于更改布局参数的代码,希望它能起作用。

FrameLayout.LayoutParams layoutParams;
layoutParams = getLayoutParams(LayoutParams.MATCH_PARENT,height,top);

TextView textView;
textView = new TextView(_registerNewMealActivity);
textView.setText(text);
textView.setLayoutParams(layoutParams);