嵌套滚动视图滚动到错误顶部
Nested Scrollview scrolling to top in Error
我有一个activity,请看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:animateLayoutChanges="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
android:fitsSystemWindows="true">
<android.support.v4.view.ViewPager
android:id="@+id/property_image_viewpager"
android:layout_width="match_parent"
android:layout_height="@dimen/property_details_image_height">
</android.support.v4.view.ViewPager>
<TextView
android:id="@+id/property_detail_num_photos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/image_pager_pagination_1_image"
android:textColor="@color/white"
android:textSize="@dimen/property_detail_gallery_num_photos_text_size"
android:background="@drawable/black_shape_rounded"
android:layout_marginBottom="@dimen/property_detail_gallery_num_photos_margin_bottom"
android:layout_marginStart="@dimen/property_detail_photo_label_margin_left"
android:layout_alignBottom="@+id/image_pager"
android:padding="@dimen/property_detail_gallery_num_photos_padding"
android:drawablePadding="@dimen/property_detail_gallery_num_photos_height"
android:drawableStart="@drawable/camera"
android:layout_gravity="bottom"
android:fontFamily="@string/roboto_reg" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/nested_scroll_view"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/property_details_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
style="@style/save_ad_button_style"
app:backgroundTint="@color/daft_light_grey"
app:layout_anchor="@id/app_bar_layout"
app:layout_anchorGravity="bottom|right|end"/>
<com.test.ie.ui.customviews.LoadingStateView
android:id="@+id/loading_state_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"/>
</android.support.design.widget.CoordinatorLayout>
在我的回收站视图中,我有一个可以展开和折叠的项目。这可以正常工作,但是如果我启动一个明确的意图。当用户点击 viewpager 时,他们将被带到画廊 activity。当用户 returns 到上一个屏幕并单击可扩展布局时,嵌套滚动视图将滚动到页面顶部。这不是预期的行为。我已经尝试了很多东西来防止嵌套滚动,例如scrollBy(0,0)
。如果有人在过去经历过这种情况,我将不胜感激,因为我不确定如何解决此问题,他们可以大声疾呼。
可能值得注意的是,当我从此屏幕启动隐式意图时,我没有遇到同样的问题。
请在您的父 CoordinatorLayout
中添加 android:focusable="true"
和 android:focusableinTouchmode="true"
。然后它应该按照您的期望工作。
我有一个activity,请看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:animateLayoutChanges="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
android:fitsSystemWindows="true">
<android.support.v4.view.ViewPager
android:id="@+id/property_image_viewpager"
android:layout_width="match_parent"
android:layout_height="@dimen/property_details_image_height">
</android.support.v4.view.ViewPager>
<TextView
android:id="@+id/property_detail_num_photos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/image_pager_pagination_1_image"
android:textColor="@color/white"
android:textSize="@dimen/property_detail_gallery_num_photos_text_size"
android:background="@drawable/black_shape_rounded"
android:layout_marginBottom="@dimen/property_detail_gallery_num_photos_margin_bottom"
android:layout_marginStart="@dimen/property_detail_photo_label_margin_left"
android:layout_alignBottom="@+id/image_pager"
android:padding="@dimen/property_detail_gallery_num_photos_padding"
android:drawablePadding="@dimen/property_detail_gallery_num_photos_height"
android:drawableStart="@drawable/camera"
android:layout_gravity="bottom"
android:fontFamily="@string/roboto_reg" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/nested_scroll_view"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/property_details_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
style="@style/save_ad_button_style"
app:backgroundTint="@color/daft_light_grey"
app:layout_anchor="@id/app_bar_layout"
app:layout_anchorGravity="bottom|right|end"/>
<com.test.ie.ui.customviews.LoadingStateView
android:id="@+id/loading_state_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"/>
</android.support.design.widget.CoordinatorLayout>
在我的回收站视图中,我有一个可以展开和折叠的项目。这可以正常工作,但是如果我启动一个明确的意图。当用户点击 viewpager 时,他们将被带到画廊 activity。当用户 returns 到上一个屏幕并单击可扩展布局时,嵌套滚动视图将滚动到页面顶部。这不是预期的行为。我已经尝试了很多东西来防止嵌套滚动,例如scrollBy(0,0)
。如果有人在过去经历过这种情况,我将不胜感激,因为我不确定如何解决此问题,他们可以大声疾呼。
可能值得注意的是,当我从此屏幕启动隐式意图时,我没有遇到同样的问题。
请在您的父 CoordinatorLayout
中添加 android:focusable="true"
和 android:focusableinTouchmode="true"
。然后它应该按照您的期望工作。