当折叠我的工具栏停止工作
When Collapse My Toolbar Stop Working
在我使用 CollapsingToolbarLayout 的 AppBarLayout 底部,我有一个 EditText 和一个 ImageView(用作按钮)。
当 AppBarLayout 打开 时,我的 editText 和 ImageView 工作正常。
但是当我 collapse 并且他们得到工具栏的 space 时,他们看起来 不再可点击 。
这里工作正常。
但是当他们得到这个蓝色边框时 space (Toolbar)
停止工作。我无法单击 "LOS" 或输入更多内容
我的XML代码
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="210dp"
android:stateListAnimator="@animator/appbar_always_elevated"
android:background="@color/neah_screen_bg_white">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:collapsedTitleTextAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
app:expandedTitleMarginStart="72dp"
app:expandedTitleTextAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/main_home_banner_img"
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@string/background_to_text_contentDescription"
android:scaleType="centerCrop"
android:src="@drawable/bg_home"
app:layout_collapseMode="parallax"
app:layout_constraintBottom_toTopOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<ImageView
android:id="@+id/main_home_banner_filter"
android:layout_width="0dp"
android:layout_height="0dp"
android:alpha="0.4"
android:contentDescription="@string/shadow_contentDesxription"
app:layout_constraintBottom_toTopOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/gradient_bg" />
<ImageView
android:id="@+id/main_home_neah_logo"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintEnd_toEndOf="@+id/main_home_banner_filter"
app:layout_constraintStart_toStartOf="@+id/main_home_banner_filter"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/icon_neah_logo_white" />
<TextView
android:id="@+id/main_home_cta_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="24dp"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:text="@string/str_home_cta_text"
android:textColor="@color/neah_text_white"
android:textSize="@dimen/size_text_app_bar"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/main_home_neah_logo" />
<EditText
android:id="@+id/main_home_text"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="16dp"
android:background="@color/transparent"
android:ems="10"
android:hint="@string/str_home_service_cta"
android:inputType="textPersonName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/main_home_button_text"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/main_home_button"
android:layout_width="90dp"
android:layout_height="0dp"
android:contentDescription="@string/button_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/main_home_text"
app:srcCompat="@color/neah_btn_orange" />
<TextView
android:id="@+id/main_home_button_text"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:text="@string/str_go"
android:textColor="@color/neah_text_white"
android:textSize="@dimen/size_text_big"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/main_home_text"
app:layout_constraintTop_toTopOf="@+id/main_home_text" />
</android.support.constraint.ConstraintLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="40dp"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/main_home_list_swipe"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" >
<android.support.v7.widget.RecyclerView
android:id="@+id/main_home_list"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout >
我不是 Android 开发人员,但从我目前所做的其他 UI 工作来看,您的容器的一部分似乎位于 UI 元素的前面您希望可点击。
- 我建议您打开 UI 设计器并通过适当设置初始变量(而不是在应用构建中的呈现视图中)将 UI 置于折叠状态。
- 这样您就可以轻松地单击单个 UI 元素并查看哪个元素在前面并阻止对您要访问的元素的访问。
- 之后,如果可能的话,要么将这个元素放在另一个元素的后面,要么尝试重组你的 UI,这样前面就没有任何东西了,比如将带有文本和按钮的工具栏从折叠区域中拉出来,然后将它附在底部。
在我使用 CollapsingToolbarLayout 的 AppBarLayout 底部,我有一个 EditText 和一个 ImageView(用作按钮)。
当 AppBarLayout 打开 时,我的 editText 和 ImageView 工作正常。
但是当我 collapse 并且他们得到工具栏的 space 时,他们看起来 不再可点击 。
我的XML代码
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="210dp"
android:stateListAnimator="@animator/appbar_always_elevated"
android:background="@color/neah_screen_bg_white">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:collapsedTitleTextAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
app:expandedTitleMarginStart="72dp"
app:expandedTitleTextAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/main_home_banner_img"
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@string/background_to_text_contentDescription"
android:scaleType="centerCrop"
android:src="@drawable/bg_home"
app:layout_collapseMode="parallax"
app:layout_constraintBottom_toTopOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<ImageView
android:id="@+id/main_home_banner_filter"
android:layout_width="0dp"
android:layout_height="0dp"
android:alpha="0.4"
android:contentDescription="@string/shadow_contentDesxription"
app:layout_constraintBottom_toTopOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/gradient_bg" />
<ImageView
android:id="@+id/main_home_neah_logo"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintEnd_toEndOf="@+id/main_home_banner_filter"
app:layout_constraintStart_toStartOf="@+id/main_home_banner_filter"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/icon_neah_logo_white" />
<TextView
android:id="@+id/main_home_cta_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="24dp"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:text="@string/str_home_cta_text"
android:textColor="@color/neah_text_white"
android:textSize="@dimen/size_text_app_bar"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/main_home_neah_logo" />
<EditText
android:id="@+id/main_home_text"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="16dp"
android:background="@color/transparent"
android:ems="10"
android:hint="@string/str_home_service_cta"
android:inputType="textPersonName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/main_home_button_text"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/main_home_button"
android:layout_width="90dp"
android:layout_height="0dp"
android:contentDescription="@string/button_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/main_home_text"
app:srcCompat="@color/neah_btn_orange" />
<TextView
android:id="@+id/main_home_button_text"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:text="@string/str_go"
android:textColor="@color/neah_text_white"
android:textSize="@dimen/size_text_big"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/main_home_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/main_home_text"
app:layout_constraintTop_toTopOf="@+id/main_home_text" />
</android.support.constraint.ConstraintLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="40dp"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/main_home_list_swipe"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" >
<android.support.v7.widget.RecyclerView
android:id="@+id/main_home_list"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout >
我不是 Android 开发人员,但从我目前所做的其他 UI 工作来看,您的容器的一部分似乎位于 UI 元素的前面您希望可点击。
- 我建议您打开 UI 设计器并通过适当设置初始变量(而不是在应用构建中的呈现视图中)将 UI 置于折叠状态。
- 这样您就可以轻松地单击单个 UI 元素并查看哪个元素在前面并阻止对您要访问的元素的访问。
- 之后,如果可能的话,要么将这个元素放在另一个元素的后面,要么尝试重组你的 UI,这样前面就没有任何东西了,比如将带有文本和按钮的工具栏从折叠区域中拉出来,然后将它附在底部。