- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
是否可以在 DrawerLayout 的主容器中显示的 fragment 中使用 CoordinatorLayout/CollapsingToolbarLayout?
另一个question的答案建议每个 fragment 都可以有自己的工具栏。但这不适用于 ActionBarDrawerToggle
因为它需要一个工具栏来链接到打开/关闭抽屉行为。
有没有人做到这一点,或者你有这方面的指示吗?谢谢。
编辑:我一直在集中精力在 DrawerLayout
中放置一个工具栏,打算一直留在那里,但没能得到它滚动(在 Nexus5 API 22 上)。在 this question提到 CoordinatorLayout
需要成为主视图。所以也许将它插入 DrawerLayout(如下所示)是行不通的。
<android.support.v4.widget.DrawerLayout ...>
<!-- main content -->
<android.support.design.widget.CoordinatorLayout ...>
<android.support.design.widget.AppBarLayout ...>
<android.support.design.widget.CollapsingToolbarLayout ...>
<ImageView .../>
<android.support.v7.widget.Toolbar .../>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView .../>
</android.support.design.widget.CoordinatorLayout>
<!-- navigation drawer -->
<android.support.design.widget.NavigationView ...>
<!-- drawer content -->
<fragment .../>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
最佳答案
事实上,是的,你可以。我一直在寻找同样的东西,你问题的链接将我带到了 this来自 Google Blogpost
无论如何,下面是我的布局文件,至于java代码我没有改变任何东西,Fragment调用保持不变。
activity_main.xml(主文件)
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
app_bar_main.xml(导航栏布局)
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="192dp"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
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:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/app_bar_main">
<FrameLayout
android:id="@+id/content_main_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.NestedScrollView>
现在你有了“DrawerLayout + Fragments + CollapsingToolbarLayout”
关于Android, DrawerLayout + Fragments + CollapsingToolbarLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856792/
我指的是 Cheesesquare app.我目前的设计要求略有不同.. 像这样的(忽略图片和名称下面的部分) 我想要圆形图像右下角的 float 操作按钮和它下面的人的名字(这将是 Collapsi
我在给定 ScrollingActivity 的 Android Studio 中的 CollapsingToolbarLayout 有问题。 向下滚动 Action 完美无缺,但当我想向上滚动时,它
我正在尝试将包含 ImageView 按钮和其他 UI 元素的 LinearLayout 放置在 CollapsingToolbarLayout 中,这可能吗? 最佳答案 CollapsingTool
我正在使用 CollapsingToolbarLayout 和一个 viewpager。 Viewpager 由 RecyclerView 组成。但是,当滚动回收器 View 时,工具栏不会折叠。 a
我正在尝试控制 collpasingtoolbarlayout 的快照滚动标志的滚动行为。按照这个教程linkSCROLL_FLAG_SNAP:在滚动结束时,如果 View 只是部分可见,那么它将被捕
我正在为我的 fragment (选项卡)使用 CollapsingToolbarLayout 和 View 页面。
如果我将依赖项从 23.1.1 更新到 23.2.0,CollapsingToolbarLayout 将无法正常工作。应用崩溃并抛出错误。 java.lang.RuntimeException:and
在我的 CoordinatorLayout 中,我有以下安排: 我希望我的自定义 T
我在使用 Android 设计支持库时发现我的应用程序存在问题,因为 CollapsingToolbarLayout 顶部似乎有一个主题色背景栏,即使有足够的空间(因此它应该是“透明的” '). 知道
我开始在我的应用中使用折叠工具栏。按照他们在 Android 开发人员博客上的方式实现后,它似乎无法正常工作。我看到溢出和向上导航按钮,但是当我向下滚动时它们不跟随工具栏。这video这是应该发生的事
我的布局应该是这样的: 有一些问题需要解决: constraintLayout(下周,购物文本)应该位于工具栏底部。 标题文本Next week 滚动完成后可以平滑移动到工具栏中心 水平进度条在con
我似乎无法在我的代码中找到错误。 CollapsingToolbarLayout 没有显示标题,即使我设置了一个。它显示后退按钮但不显示标题,它仍然是普通工具栏的高度。 在工具栏上设置标题或 getS
在我的 MainActivity 中,我有一个 CollapsingToolbarLayout。默认情况下,工具栏是展开的。但我希望它被折叠。因此,正如 StackOverflow 问题中所建议的那样
我有一个触发 CollapsingToolbarLayout 的 RecyclerView,当我尝试在 4.2.2 上重新打开折叠的工具栏时,出现以下崩溃。有什么想法吗? java.lang.Ille
如果有人能给我一些建议来解决我的最新问题,我将不胜感激。 我有一个带有 CollapsingToolbarLayout 的 Activity 。在未折叠状态下,我无法让按钮工作。我不知道如何解决这个问
我将支持设计库的修订版更新到 23.0.1 并得到了这样的行为 - 当侧抽屉重叠时标题消失(抽屉是带有自定义子项的简单 LinearLayout)。没有问题,当我使用 rev. 22.2.1。您对隐藏
在我的应用程序中,我实现了一个包含 Facebook 图片和文本的 CollapsingToolbarLayout,如下图所示: 当图片包含太多白色时,我遇到了一个问题,工具栏 图标保持不可见。 我想
我将 CoordinatorLayout 与 AppBarLayout 和 CollapsingToolbarLayout 一起使用。内容还有一个 NestedScrollView。当我在 Colla
我在带有 RelativeLayout 的 AppBarLayout 中有 CollapsingToolbarLayout
我正在尝试使用我在 CollapsingToolbarLayout 中编写的自定义 View ,但触摸事件似乎无法通过手势检测正确传播到我的自定义 View 。结果是滚动和与 View 的交互无法按预
我是一名优秀的程序员,十分优秀!