如何创建类似于 Google Play 的电影部分的横向布局?
How do I create a landscape layout like Google Play's movies section?
当您在 Google 播放中单击电影并进入横向模式时,图像位于背景中,电影的详细信息位于背景上方的布局中。这 2 个表面一起滚动。我该怎么做?
电影部分Google播放电影示例
我有折叠工具栏(背景图片在此处),我尝试将整个嵌套滚动视图锚定到应用栏。但这是行不通的。
<android.support.design.widget.CoordinatorLayout
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"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="200dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
app:expandedTitleMargin="16dp">
<ImageView
android:id="@+id/iv_movie_detail_backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"/>
<View
android:layout_width="match_parent"
android:layout_height="160dp"
android:layout_gravity="bottom"
android:background="@drawable/scrim"/>
<android.support.v7.widget.Toolbar
android:id="@+id/anim_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include
layout="@layout/scrollview_movie_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchor="@id/app_bar"
app:layout_anchorGravity="bottom"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
ImageView
应该有通常的标志 (parallax
) : app:layout_collapseMode="parallax"
并且它应该在 CollapsingToolbarLayout
.
关于您看到的内容,只需添加:
app:behavior_overlapTop="100dp" // 100dp for example
给你的 NestedScrollView
(或类似 RecyclerView
的东西,它有:app:layout_behavior="@string/appbar_scrolling_view_behavior"
)。
这里有一个很好的示例,您可以使用:https://github.com/saulmm/CoordinatorBehaviorExample
当您在 Google 播放中单击电影并进入横向模式时,图像位于背景中,电影的详细信息位于背景上方的布局中。这 2 个表面一起滚动。我该怎么做?
电影部分Google播放电影示例
我有折叠工具栏(背景图片在此处),我尝试将整个嵌套滚动视图锚定到应用栏。但这是行不通的。
<android.support.design.widget.CoordinatorLayout
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"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="200dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
app:expandedTitleMargin="16dp">
<ImageView
android:id="@+id/iv_movie_detail_backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"/>
<View
android:layout_width="match_parent"
android:layout_height="160dp"
android:layout_gravity="bottom"
android:background="@drawable/scrim"/>
<android.support.v7.widget.Toolbar
android:id="@+id/anim_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include
layout="@layout/scrollview_movie_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchor="@id/app_bar"
app:layout_anchorGravity="bottom"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
ImageView
应该有通常的标志 (parallax
) : app:layout_collapseMode="parallax"
并且它应该在 CollapsingToolbarLayout
.
关于您看到的内容,只需添加:
app:behavior_overlapTop="100dp" // 100dp for example
给你的 NestedScrollView
(或类似 RecyclerView
的东西,它有:app:layout_behavior="@string/appbar_scrolling_view_behavior"
)。
这里有一个很好的示例,您可以使用:https://github.com/saulmm/CoordinatorBehaviorExample