CollapsingToolbarLayout |滚动和布局问题

时间:2015-06-17 18:40:34

标签: android xml material-design android-design-library android-collapsingtoolbarlayout

相关问题

CollapsingToolbarLayout | Scrolling and layout issues 2

问题

我一直在使用Android Support Design Library并成功实施CoordinatorLayout,导致ToolbarTabLayout在滚动时滚出视图。这非常有效,所以我想我会试试新的CollapsingToolbarLayout

在单独的活动中,我一直在执行问题CollapsingToolbarLayout。正如他们所说,我是接近但没有雪茄。

我想使用2个不同的片段

  1. 标题图片(目前仅为ImageView
  2. “可滚动”内容(实际上内容实际上不是可滚动的,但我强迫它将长Lorem Ipsum文本进行测试)
  3. 我自己构建了这个布局的一个例子,但经过多次尝试后无法使其工作。最后,我发现了这个[在这里输入图像描述] [5]并修改它以达到我现在的目的

    问题

    注意:我不知道这些是否是由1件事(多米诺骨牌效应)引起的,或者这些是否是个体的。此外,我已经查看了很多相关问题,但似乎没有任何问题。

    1. Scrollable Content显示在标题图片
    2. 上方
    3. Scrollable Content未固定在Header Image
    4. 的底部
    5. Scrollable Content的滚动中,它会滚动Header Image看似随意的:{/ p>

      • Just right并遵循手指的速度(完美)
      • Too fast并通过将我的手指移动1行文字的高度来设置屏幕Header Image的动画
      • 同样在Scroll down上,上述2个效果与第3效果一起发生

          显示全宽Instant
        • Near instantHeader Image“动画”
    6. 编辑:以下问题在另一个问题中被提出!! The above had 1 simple fix

      1. CollapsingToolbarLayout不允许我展开Toolbar以查看完整 Header Image

        • 它显示了大部分图像,但不是全部。 Top被剪切,但底部可见。
      2. Toolbar设置为Pin但滚动时隐藏

        • Header Image应该消失
      3. 代码

        一般布局

        <android.support.design.widget.CoordinatorLayout>
        
            <android.support.design.widget.AppBarLayout>
        
                <android.support.design.widget.CollapsingToolbarLayout>
        
                    <ImageView/> <!-- Will be a fragment later -->
        
                    <android.support.v7.widget.Toolbar/>
        
                </android.support.design.widget.CollapsingToolbarLayout>
        
            </android.support.design.widget.AppBarLayout>
        
            <android.support.v4.widget.NestedScrollView>
        
                <fragment/>  <!-- Not a scrolling fragment layout -->
        
            </android.support.v4.widget.NestedScrollView>
        
        </android.support.design.widget.CoordinatorLayout>
        

        Layout.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:fitsSystemWindows="true">
        
            <android.support.design.widget.AppBarLayout
                android:id="@+id/appbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                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="wrap_content"
                    app:contentScrim="?attr/colorPrimary"
                    app:expandedTitleMarginEnd="16dp"
                    app:expandedTitleMarginStart="48dp"
                    app:layout_scrollFlags="scroll|enterAlways">
        
                    <ImageView
                        android:id="@+id/header"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/download"
        
                        android:scaleType="centerCrop" />
        
                    <android.support.v7.widget.Toolbar
                        android:id="@+id/anim_toolbar"
                        android:layout_width="match_parent"
                        android:layout_height="?attr/actionBarSize"
        
                        app:layout_collapseMode="pin" />
        
                </android.support.design.widget.CollapsingToolbarLayout>
        
            </android.support.design.widget.AppBarLayout>
        
            <android.support.v4.widget.NestedScrollView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_below="@+id/imageView1">
        
                <fragment
                    android:id="@+id/detail"
                    android:name="<package>.<fragment_name>"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />
        
            </android.support.v4.widget.NestedScrollView>
        
        </android.support.design.widget.CoordinatorLayout>
        

        1 2 3

        4 5 6

1 个答案:

答案 0 :(得分:7)

您需要将app:layout_behavior="@string/appbar_scrolling_view_behavior"添加到NestedScrollView - 这标记了应位于AppBarLayout下方(因此位于CollapsingToolbarLayout下方)的课程。