Кнопка перестает отвечать на запросы после сворачивания складной панели инструментов

У меня есть настраиваемый вид на складной панели инструментов - относительный макет с EditText и TextView который действует как кнопка. Когда свернутая панель инструментов развернута, оба виджета хорошо реагируют на нажатия.

Но потом, когда я сворачиваю панель инструментов, оба виджета становятся видимыми и активными isClickable() чтобы понять это) но TextView Кнопка не реагирует на нажатия. Тем не менее EditText работает хорошо.

Почему бы TextView не отвечает (хотя и кликабелен) после краха?

РЕДАКТИРОВАТЬ: Добавлен код.

XML рушащегося макета панели инструментов.

<android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/custom_header"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/PrimaryDark"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:titleEnabled="true">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

        <RelativeLayout
            android:id="@+id/header"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clickable="false"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:minHeight="?attr/actionBarSize"
            android:paddingBottom="@dimen/SpaceSmall"
            app:layout_collapseMode="parallax"
            app:layout_collapseParallaxMultiplier="1.0">


            <TextView
                android:id="@+id/header_title"
                android:layout_width="match_parent"
                android:layout_height="@dimen/HeightMax"
                android:layout_marginLeft="@dimen/SpaceSmall"
                android:layout_marginRight="@dimen/Space"
                android:layout_toRightOf="@id/iv_custom_header_up_arrow"
                android:ellipsize="end"
                android:gravity="center_vertical"
                android:singleLine="true"
                android:textColor="@color/p2pWhiteTextPrimary"
                android:textSize="@dimen/p2pTextTitle"/>

            <LinearLayout
                android:id="@+id/ll_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="@dimen/MarginTop"
                android:clipChildren="false"
                android:clipToPadding="false"
                android:orientation="vertical"
                android:paddingRight="@dimen/Space">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:id="@+id/plans"
                    android:layout_height="@dimen/EmptyHeight"
                    android:clipChildren="false"
                    android:gravity="center_vertical">

                    <TextView
                        android:id="@+id/symbol"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:gravity="center"
                        android:layout_marginLeft="@dimen/p2p_transaction_rupee_left_margin"
                        android:text="@string/symbol"
                        android:textColor="@color/TextPrimary"
                        android:textSize="@dimen/TextHeading"/>


                    <EditText
                        android:id="@+id/et_box"
                        style="@style/EditTextBoxHoloDark"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="@dimen/Space"
                        android:hint="@string/empty_box"
                        android:textColorHint="@color/colorTextHintText"
                        android:inputType="numberPassword"
                        android:maxLength="7"
                        android:singleLine="true"
                        android:textSize="@dimen/EmptyET"
                        android:cursorVisible="true"
                        android:layout_toRightOf="@+id/ymbol"
                        android:layout_toLeftOf="@+id/plans">

                        <requestFocus />

                        </EditText>

                    <TextView
                        android:id="@+id/plans"
                        style="@style/Button"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:clickable="true"
                        android:paddingLeft="@dimen/Small"
                        android:paddingRight="@dimen/Small"
                        android:paddingTop="@dimen/Tiny"
                        android:paddingBottom="@dimen/Tiny"
                        android:text="@string/plans"
                        android:textAllCaps="false"
                        android:textSize="@dimen/caption"
                        android:visibility="invisible"
                        android:layout_centerVertical="true"/>

                </RelativeLayout>

            </LinearLayout>

        </RelativeLayout>

    </android.support.design.widget.CollapsingToolbarLayout>

onOffsetChangedListener ()
Начальные значения и значения дельта-положения вычисляются заранее, чтобы сделать переход виджетов при изменении смещения

appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
                    @Override
                    public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {

                        float percentageDone = Math.abs(verticalOffset) * 100 / appBarLayout.getTotalScrollRange();
                        et.setScaleX(1 - (1 - deltaTextSize) * percentageDone / 100.0f);
                        et.setScaleY(1 - (1 - deltaTextSize) * percentageDone / 100.0f);


                        et.setX(initialXAmount - (deltaXAmount) * percentageDone / 100.0f);
                        et.setY(initialYAmount - (deltaYAmount) * percentageDone / 100.0f);

                        viewPlans.setY(initialPlanPosition - (deltaPlanPosition) * percentageDone / 100.0f);
                    }
                });
            }
        });

0 ответов

Другие вопросы по тегам