Abh*_*hek 25 android material-design android-appbarlayout
我正在尝试实现一种滚动技术,具有重叠内容的灵活空间,在Material Design中有所描述.
灵活的空间,内容重叠
内容可以与应用栏重叠.
行为:
应用栏的起始位置应位于内容后面.向上滚动时,应用栏应滚动得比内容更快,直到内容不再重叠.一旦锚定到位,应用栏就会抬起以允许内容在下方滚动.
但问题是,我的AppBar中的标题在展开时向下滚动并隐藏在重叠内容之下.
这是我的代码:
活动的main.xml中
<android.support.design.widget.CoordinatorLayout
...
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
...
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="top"
android:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
...
Run Code Online (Sandbox Code Playgroud)
我还在MainActivity的onCreate函数中添加了这些
setSupportActionBar(toolbar);
collapsingToolbarLayout.setTitle("App Name");
Run Code Online (Sandbox Code Playgroud)
我希望工具栏(包含瓷砖和其他内容,稍后我将添加)保持在顶部,无论appbar是否被展开或折叠.
我已经阅读了文档,经历了很多帖子和教程,观看了很多视频,但却找不到工作解决方案或任何相关的解决方案.
如果有人对如何解决这个问题有所了解,请提出建议.谢谢你的帮助.
小智 67
当我在类似问题报告的评论中找到答案时,我一直在寻找解决方案.
基本上你打电话setTitleEnabled()给你CollapsingToolbarLayout这样:
CollapsingToolbarLayout.setTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)
您也可以在xml中执行此操作,方法是将其添加到您的CollapsingToolbarLayout:
app:titleEnabled="false"
Run Code Online (Sandbox Code Playgroud)
通过设置它false,您将获得所需的行为.标题保持固定在屏幕顶部.
它Toolbar本身已经位于顶部,但是这使得标题也保持在那里,而不是在底部CollapsingToolbarLayout和底部之间进行翻译Toolbar.
我已经通过在Toolbar标签内添加以下代码来实现这一点。
app:layout_collapseMode="pin"
Run Code Online (Sandbox Code Playgroud)
在我来说,我需要添加app:titleEnabled="false"到CollapsingToolbarLayout AND app:layout_collapseMode="pin"到android.support.v7.widget.Toolbar
现在,无论用户是向上还是向下滚动,工具栏都会固定在屏幕顶部。