首页 > 解决方案 > 在 RecyclerView 再次向下和向上滚动并且可隐藏视图设置为可见 Xamarin Android 后,布局上的可隐藏视图不会推送其他视图

问题描述

我目前正在开发一个安卓应用程序。这就像一个搜索引擎。有几个预定义的过滤器。每当用户单击按钮时,我都会隐藏这些过滤器。还有一个 RecyclerView,它在这些过滤器下显示搜索结果。布局如图所示:

在此处输入图像描述

在那之前一切都很正常。但是当我隐藏过滤器并向下滚动 RecyclerView 并再次向上滚动时,当我想再次显示过滤器时,它们只是在 RecyclerView 后面。我的布局代码和使过滤器可见和消失的代码就是这样。提前致谢。

在过滤器处于消失状态时向下和向上滚动后

在向下和向上滚动并使过滤器可见之后

<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"
    tools:context="com.example.user.myapplication.SearchActivity">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="200px"
        android:isScrollContainer="true"
        android:id="@+id/constraintLayout1"
    >

        <TextView
            android:layout_width="0dp"
            app:layout_constraintWidth_percent=".8"
            android:nestedScrollingEnabled="true"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0" 
            android:layout_height="wrap_content"
            android:textColor="@android:color/darker_gray"
            android:id="@+id/resultCount" />
        <EditText
            android:inputType="text"
            android:id="@+id/keywords"
            android:layout_width="0dp"
            app:layout_constraintWidth_percent=".8"
            android:layout_height="wrap_content"
            android:hint="anahtar kelime(ler)"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            app:layout_constraintTop_toBottomOf="@+id/resultCount"
            app:layout_constraintVertical_bias="0.0" />

        <LinearLayout
            app:layout_constraintWidth_percent=".8"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            android:nestedScrollingEnabled="true"
            android:id="@+id/ll"
            app:layout_constraintTop_toBottomOf="@id/keywords">
            <Spinner
                android:id="@+id/lstSearchTypes"
                android:layout_weight="1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:padding="20px"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                android:textStyle="bold"
                android:textSize="30sp"  />

            <Button
                android:id="@+id/btnSearch"
                android:text="Ara"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="20px"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                android:backgroundTintMode="src_over"
                android:backgroundTint="#ff00ff99"
                android:textStyle="bold"
                android:textSize="30sp"/>
        </LinearLayout>
        <Button
            android:id="@+id/btnEkFiltreler"
            android:text="Ek Filtreler"
            android:layout_width="0dp"
            app:layout_constraintWidth_percent=".9"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/ll"
            android:visibility="visible"
      />
            <Spinner
                android:id="@+id/lstDaireler"
                android:text="Daire"
                android:layout_width="0dp"
                app:layout_constraintWidth_percent=".9"
                android:layout_height="wrap_content"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/btnEkFiltreler"
                android:visibility="gone"
                android:padding="20px"
                android:layout_marginTop="5dp"
                android:textStyle="bold"
                android:textSize="30sp"  />
            <Spinner
                android:layout_marginTop="5dp"
                android:id="@+id/lstMahkemeler"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                android:text="Daire"
                android:layout_width="0dp"
                android:visibility="gone"
                app:layout_constraintWidth_percent=".9"
                android:layout_height="wrap_content"
                app:layout_constraintTop_toBottomOf="@+id/lstDaireler"
                android:padding="20px"
                android:textStyle="bold"
                android:textSize="30sp"  />

            <Spinner
                android:layout_marginTop="5dp"
                android:id="@+id/lstBasliklikMi"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                android:text="Daire"
                android:layout_width="0dp"
                android:visibility="gone"
                app:layout_constraintWidth_percent=".9"
                android:layout_height="wrap_content"
                app:layout_constraintTop_toBottomOf="@+id/lstMahkemeler"
                android:padding="20px"
                android:textStyle="bold"
                android:textSize="30sp"  />
        <CheckBox
                android:id="@+id/sonIkiSenedekiKararlar"
                android:layout_marginTop="5dp"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                android:layout_width="0dp"
                android:visibility="gone"
                app:layout_constraintWidth_percent=".9"
                android:layout_height="wrap_content"
                android:textSize="18sp"
                app:layout_constraintTop_toBottomOf="@+id/lstBasliklikMi"
                android:text="Son 2 senedeki kararlar"
        />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/rvSearchResults"
            android:layout_width="0dp"
            app:layout_constraintWidth_percent=".95"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/sonIkiSenedekiKararlar"
            android:visibility="visible"            
            android:paddingBottom="?attr/actionBarSize"/>

    </android.support.constraint.ConstraintLayout>
</ScrollView>

 private void DoHideShow(object sender, EventArgs e)
    {

        dairelerSpinner.Visibility =
        mahkemelerSpinner.Visibility =
        sonIkiSenedekiKararlar.Visibility =
        baslikliMiSpinner.Visibility = dairelerSpinner.Visibility == ViewStates.Gone ? 
                        ViewStates.Visible :                                                                      
                        ViewStates.Gone;
    }

标签: androidxamarinmobilelayoutandroid-recyclerview

解决方案


推荐阅读