将View可见性设置为View.GONE,使其不可见,仍然占用空间

时间:2018-03-29 11:48:55

标签: android android-layout android-constraintlayout

我有一个视图,我想要折叠,所以我将可见性设置为View.GONE视图变得不可见,但它仍占用空间。

我不知道它可能是什么,有人有想法吗?

这是之前的图像(视图D): Here is an image before

这是(视图D)之后的图像: enter image description here

这是布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/mainColor"
android:clipToPadding="false"
android:fillViewport="false"
android:scrollbars="none">

<android.support.constraint.ConstraintLayout
    android:id="@+id/options_panel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true">

    <!-- other irrelevants views -->

    <TextView
        android:id="@+id/time_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="32dp"
        android:fontFamily="sans-serif"
        android:text="@string/toolbar_options_title_time"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/option_hexa_sorting" />

    <com.development.mekanius.bounce.customElements.HexaRadioGroupView
        android:id="@+id/option_hexa_time"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/time_title" />

    <Button
        android:id="@+id/option_create_post"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="32dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/option_hexa_time" />

</android.support.constraint.ConstraintLayout>

提前致谢

1 个答案:

答案 0 :(得分:1)

首先,对于迟到的回复感到抱歉,但我一直坚持决赛,而且我没有太多时间。

好的,这个问题完全是另一回事 我使用Spotify的Mobius作为状态机:
https://github.com/spotify/mobius

它使用后台线程来消耗效果,因此在UI上执行会产生错误。但由于某种原因,错误被抑制(不在日志上并且没有抛出异常),所以我只看到视图不遵守命令。

我得出了这个结论,删除代码行,直到有效 非常古老的时尚。

感谢所有想要帮助的人。