如何崩溃的ImageView嵌套在CoordinatorLayout
问题描述:
里面我有以下布局如何崩溃的ImageView嵌套在CoordinatorLayout
<CoordinatorLayout>
<CardView>
<LinearLayout>
<ImageView />
<View />
</LinearLayout>
</CardView>
<RecyclerView />
</CoordinatorLayout>
我只是想用隐藏每当RecyclerView向下滚动,并显示每当RecyclerView滚动了ImageView的视差动画ImageView的。我知道使用CoordinatorLayout可以实现这种行为。
答
您确实想要折叠的视图必须包含在CollapsingToolbarLayout
之内AppBarLayout
之内。
尝试下面的结构:
<....CoordinatorLayout
....
...
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
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:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<!-- Your collapsing content will goes here -->
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<...NestedScrollView
.....
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</....CoordinatorLayout>
答
对于需要使用AppBarLayout和CollapsingToolbarLayout视差效果。 你可以尝试把ImageView的与属性
app:layout_collapseMode="parallax"
的CollapsingToolbarLayout内工具栏上方
详细代码CoordinatorLayout
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:statusBarBackground="@color/colorPrimaryDark"
android:fitsSystemWindows="true"
tools:context="com.example.android">
<android.support.design.widget.AppBarLayout android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
android:fitsSystemWindows="true"
android:elevation="4dp"
>
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleEnabled="false"
android:background="@color/colorPrimaryDarkTransparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="208dp"
android:scaleType="centerCrop"
android:src="@drawable/image_you_want"
app:layout_collapseMode="parallax"
android:background="@color/colorPrimaryDark"
/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
app:popupTheme="@style/AppTheme.PopupOverlay"
android:background="@color/colorPrimaryDarkTransparent2"
app:titleTextAppearance="@style/AppBarTitleappearance"
app:subtitleTextAppearance="@style/AppBarSubtitleApppearanceLight"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextColor="@color/white"
app:tabSelectedTextColor="@color/white"
app:tabIndicatorHeight="3dp"
app:tabMode="scrollable"
app:tabGravity="center"
android:elevation="4dp"
app:tabIndicatorColor="@color/ornage"
app:tabTextAppearance="@style/NavigationTabTextAppeareance"
/>
</android.support.design.widget.AppBarLayout>
确保你有以下的命名空间S IN布局
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
根据您的要求,您可以在该位置使用任何布局的根标签与属性
app:layout_collapseMode="parallax"
我希望你会从中得到一些帮助。