Просмотр бесполезных кликов при изменении с GONE на VISIBLE - PullRequest
0 голосов
/ 05 августа 2020

У меня следующий (относительный) макет (сверху вниз):

  • Верхняя панель со значком, который открывает меню параметров
  • Скрытое меню, для которого установлено значение Visibility.GONE, пока он не будет открыт
  • RecyclerView внизу, он занимает оставшуюся часть экрана

Итак, в начале видны только верхняя панель и RecyclerView. Когда я нажимаю, чтобы отобразить скрытое меню, оно открывается и опускает RecyclerView вниз, чтобы освободить место для себя. Если я нажимаю кнопки внутри этого скрытого меню, они работают. Сложность заключается в том, что если я нажимаю пустое пространство между этими кнопками ( область экрана, где элементы RecyclerView ИСПОЛЬЗУЕМЫ как ), щелчок передается определенному элементу RecyclerView.

Таким образом, вместо того, чтобы ничего не происходило из-за того, что я щелкнул пустое место, мои щелчки передаются на RecyclerView, который раньше был там до появления меню параметров.

Я не использую анимацию, только view.visibility = View.VISIBLE


Изменить: дайте мне знать, если вам нужны фотографии для лучшего понимания.

Здесь это мой XML:

<!-- TOP BAR -->
<RelativeLayout
    android:id="@+id/topBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="47dp">

    <ImageButton
        android:id="@+id/topBarButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:layout_marginStart="10dp"/>
</RelativeLayout>

<!-- RecyclerView -->
<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:layout_below="@id/hiddenMenu"/>

<!-- Hidden menu -->
<RelativeLayout
    android:id="@+id/hiddenMenu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/topBar"
    android:orientation="vertical"
    android:visibility="gone">


        <EditText
            android:id="@+id/hiddenMenutext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text="This is some text" />

        <ImageView
            android:id="@+id/hiddenMenuImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            />

</RelativeLayout>

1 Ответ

0 голосов
/ 05 августа 2020

Можете ли вы попробовать это ..... если не решено, укажите точную проблему с изображениями / Gif.

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/lltop"
        android:orientation="vertical">

        <RelativeLayout

            android:id="@+id/topBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="47dp">

            <ImageButton
                android:id="@+id/topBarButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:layout_marginStart="10dp"/>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/hiddenMenu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"


            android:orientation="vertical"
            android:visibility="gone">


            <EditText
                android:id="@+id/hiddenMenutext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="This is some text" />

            <ImageView
                android:id="@+id/hiddenMenuImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_alignParentEnd="true"
                android:layout_centerVertical="true"
                />

        </RelativeLayout>
    </LinearLayout>


<android.support.v7.widget.RecyclerView

android:id="@+id/recycler_view"
android:layout_width="match_parent"
    android:layout_below="@+id/lltop"
android:layout_height="match_parent"
android:padding="@dimen/item_margin"
android:clipToPadding="false"/>




</RelativeLayout>
...