Может ли это быть реализовано: Панель инструментов в NavigationView с помощью CoordinatorLayout
Код правильный?
Пожалуйста, дайте мне пример и помогите мне это сделать Смотрите фото для лучшего понимания
activity_main.xml
<!-- notation start -->
<?xml version = "1.0" encoding = "utf-8"?>
<android.support.v4.widget.DrawerLayout >
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout>
<android.support.design.widget.CollapsingToolbarLayout>
<ImageView/>
<android.support.v7.widget.Toolbar>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
app:layout_behavior = "@string/appbar_scrolling_view_behavior">
<!-- content -->
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton/>
</android.support.design.widget.CoordinatorLayout>
<!-- notation end-->
<!-- NavigationView -->
<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_activity_main"
app:menu = "@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
nav_header_activity_main.xml
<?xml version = "1.0" encoding = "utf-8"?>
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout>
<android.support.design.widget.CollapsingToolbarLayout>
<ImageView/><!-- background Toolbar-->
<android.support.v7.widget.Toolbar>
<!-- app:layout_collapseMode = "pin" -->
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
app:layout_behavior = "@string/appbar_scrolling_view_behavior">
<!-- START content NavigationView header -->
<LinearLayout>
<ImageView/>
<TextView/>
<TextView/>
</LinearLayout>
<!--END content NavigationView header -->
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton/>
</android.support.design.widget.CoordinatorLayout>
menu / activity_main_drawer.xml
<?xml version = "1.0" encoding = "utf-8"?>
<menu xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
tools:showIn = "navigation_view">
<group android:checkableBehavior = "single">
<item/>
<item/>
</group>
<item android:title = "Communicate">
<menu>
<item/>
<item/>
</menu>
</item>
<!-- 20 item in menu -->
</menu>
Любая помощь будет оценена по достоинству. Спасибо.
вам не хватает некоторых атрибутов в приведенном выше xml-коде
1 - вы не установили layout_height и layout_width для appbarlayout, CollapsingToolbarLayout и NestedScrollView.
ваш activity_main должен быть таким, как показано ниже:
<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" />
<!--specify your header layout in NavigationView-->
<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_activity_main"
app:menu = "@menu/activity_main_drawer" />
2 - ваш макет nav_header_activity_main.xml должен быть установлен в NavigationView, например (app: headerLayout = "@ layout / nav_header_activity_main.xml"), и вы должны просто поместить виджет для содержимого заголовка, и вы должны избавиться от этих координат, панели приложений, свертывания панели инструментов и панели инструментов в nav_header
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>
<!-- define layout for main content here with NestedScrolView-->
<include layout = "@layout/content_main" />
</android.support.design.widget.CoordinatorLayout>