几周前我开始使用ConstraintLayout,我发现(我相信)它存在许多错误。一个巨大的问题是我无法设定视野。以下代码不起作用:
<TextView
android:visibility="gone"
android:id="@+id/sampleView"
style="@style/RSTextView"
android:layout_width="0dp"
android:text="sample text"
android:textSize="20dp"
android:shadowColor="#00000000"
app:layout_constraintStart_toEndOf="@+id/privacyPolicyText"
app:layout_constraintTop_toBottomOf="@+id/enterAgreementText1" />
您可以看到我已将其标记为“已消失”,但是当我使用布局检查器运行并检查视图时,可见性仍设置为可见。我不得不提出一些棘手的解决方案,其中包括当我希望视图消失时将alpha设置为0并将isEnabled设置为false,反之亦然。当我尝试以编程方式设置可见性时,我遇到了同样的问题:
sampleView.visibility = ConstraintLayout.GONE
这仍然会显示可见的视图。这使我发疯,因为我被迫提出多行hacky解决方案。任何帮助将不胜感激。
答案 0 :(得分:0)
我不知道我找到的以下链接是否与您的问题有关:
https://issuetracker.google.com/issues/37151322
https://issuetracker.google.com/issues/37139335
https://issuetracker.google.com/issues/37138937
但它们都是关于ConstraintLayout内部视图可见性的问题/错误的报告。
检查他们。
答案 1 :(得分:0)
@Pavan Varma指出,组可见性会覆盖视图的可见性。我认为,如果未设置组的可见性,则不会覆盖任何内容,但仍会覆盖。如果您在ContraintLayouts中的可见性方面遇到问题,请密切注意其组中覆盖它的可见性。如果该组的可见性未设置,则默认为可见,并覆盖视图的可见性。
答案 2 :(得分:0)
请注意在约束布局中使用组。使用群组时要注意的主要事情是
在使用约束布局时,请谨慎使用组。我认为约束布局中几乎所有可见性问题都是由组引起的。