gpt4 book ai didi

android - 以编程方式删除/编辑 ConstraintLayout 内 View 的约束

转载 作者:行者123 更新时间:2023-12-02 00:10:33 25 4
gpt4 key购买 nike

我在 ConstraintLayout 中有一个 View (Linearlayout),具有以下属性:

 android:id="@+id/myView"
app:layout_constraintTop_toBottomOf="@+id/anotherView"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

在某些情况下,我希望通过简单地删除右侧约束来将 myView 向左对齐。但我无法这样做。
我尝试使用以下内容,只是复制并应用约束参数:

 ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(holder.myView.getLayoutParams());
holder.myView.setLayoutParams(layoutParams);

但是layoutParams总是接收一个空的参数集,并将 View 发送到左上角。也许是因为我在 recyclerView 内部使用它?

它在recyclerView内部的样子:

public void onBindViewHolder(final RecyclerView.ViewHolder basicHolder, int position) {
ProfileAdapter.UserInfoViewHolder holder = (ProfileAdapter.UserInfoViewHolder) basicHolder;
ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(holder.myView.getLayoutParams(‌​));
holder.myView.setLayoutParams(layoutParams);
}

最佳答案

按照您的方式设置布局参数时存在一个错误(将在下一版本中修复)。同时,您可以执行以下操作:

ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) holder.myView.getLayoutParams();
layoutParams.rightToRight = ConstraintLayout.LayoutParams.UNSET;
holder.myView.setLayoutParams(layoutParams);

关于android - 以编程方式删除/编辑 ConstraintLayout 内 View 的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41348957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com