【问题标题】:CollapsingToolbarLayout | Scrolling and layout issues折叠工具栏布局 |滚动和布局问题
【发布时间】:2015-06-17 18:40:33
【问题描述】:

相关问题

CollapsingToolbarLayout | Scrolling and layout issues 2

问题

我一直在使用Android Support Design Library 并成功实现了CoordinatorLayout,这会导致ToolbarTabLayout 在滚动时滚动到视图之外。这很好用,所以我想我会用新的CollapsingToolbarLayout 试试运气。

在一个单独的活动中,我在实施CollapsingToolbarLayout 时遇到了一个又一个的问题。正如他们所说,我很接近但没有雪茄。

我想使用 2 个不同的片段

  1. 标题图片(目前只是ImageView
  2. “可滚动”内容(实际上内容并不是真正可滚动的,但我强制它会长 Lorem Ipsum 文本以供测试)

我自己构建了一个这种布局的示例,但经过多次尝试后无法使其正常工作。最后,我找到了这个[在此处输入图片描述][5]并对其进行了修改以达到我现在的目的

问题

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

  1. Scrollable Content 显示在标题图片上方
  2. Scrollable Content 未锚定到 Header Image 的底部
  3. 在滚动Scrollable Content 时,它会看似随机地滚动Header Image

    • Just right 并跟随手指的速度(完美)
    • Too fast 并将通过将我的手指移动到 1 行文本的高度来使 Header Image 离开屏幕
    • 同样在Scroll down,上述2个效果与第3个效果一起发生

      • InstantNear instant 以全宽显示 Header Image 的“动画”

编辑: 下面这些是在另一个问题中提出的!! The above had 1 simple fix

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

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

    • 只是 Header Image 应该消失

代码

总体布局

<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>

布局.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

【问题讨论】:

  • 如果任何个别问题在此处确实有相关问题,那么我将修改问题以删除该问题:)。我正在考虑上传图片以显示问题

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


【解决方案1】:

您需要将app:layout_behavior="@string/appbar_scrolling_view_behavior" 添加到您的NestedScrollView - 这标志着应该位于AppBarLayout 下方(因此,位于CollapsingToolbarLayout 下方)的类。

【讨论】:

  • 好的...它有效。我将修改这个问题,并针对其他问题创建一个新问题。
  • 我想添加一个特定的评论。 app:layout_behavior 不显示在自动完成中;仅显示 5 个。 background-related 2 个,padding-related 2 个,theme 1 个
  • 你知道为什么back arrow 没有显示吗?这是一个 2 Activity 应用,而这个 Activity 是子 Activity
  • 我会将您的 onCreate() 与设计库的示例项目之一中的内容进行比较:Cheesesquare
  • 我创建了另一个问题stackoverflow.com/questions/30902449/…。如果您知道更多答案,那么我很乐意给您更多积分:)
猜你喜欢
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多