当前状态:带有NavigationHeader和NavigationMenu项的NavigationDrawer。项目数量很大,因此需要滚动才能访问底部的项目。
要求:向下滚动到底部时,NavigationHeader应保持固定
这是我的活动\u主布局文件
<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"
android:background="#00000000"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
/>
</android.support.v4.widget.DrawerLayout>
这是我的导航\u标题\u主布局文件
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="vertical"
android:background="#3d3b3b"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<android.support.v7.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="100dp"
android:src="@drawable/categories"
android:padding="1dp"
/>
</RelativeLayout>
另外,我是android开发新手。如果需要,请请求更多资源
嘿,伙计们,我已经为nav_drawer想出了一个解决方案,以及我们如何在不编写任何额外代码的情况下实现静态nav_drawer。
我正在分享我目前正在进行的项目的git链接。谢谢以下是活动的主要内容。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"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_main_bg_shape"
android:orientation="vertical">
<Button
android:id="@+id/whats_cool"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="260dp"
android:layout_marginTop="400dp"
android:background="@drawable/buttonshape"
android:fontFamily="@font/delius_unicase"
android:shadowColor="#362802"
android:shadowDx="4"
android:shadowDy="3"
android:shadowRadius="10"
android:text="What's Cool"
android:textColor="#003931"
android:textSize="12sp" />
</LinearLayout>
<android.support.design.widget.NavigationView
app:headerLayout="@layout/nav_header"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/gray_white"
app:menu="@menu/nav_drawer"
android:layout_gravity="start"
app:itemTextColor="@color/darkBlue"
app:itemIconTint="@color/darkBlue"
>
<include layout="@layout/nav_header"/>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
您不需要对标题布局和nav_drawer进行任何更改。
我知道这个问题太老了,但我分享了一个适合我的解决方案:
1.将导航头主视图放置在导航视图内
<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:menu="@menu/activity_main_drawer" >
<include layout="@layout/nav_header_main"/>
</android.support.design.widget.NavigationView>
2.在@menu/activity\u main\u抽屉文件中添加一些适合页眉高度的空项
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:enabled="false"
android:title=" " />
<item android:enabled="false"
android:title=" " />
<group android:checkableBehavior="single">
<item
android:id="@+id/home"
android:title="@string/home" />
......
</group>
</menu>
找到了一个解决办法。绝对不是最有效的。请建议是否可以从这里做些什么。
<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"
android:background="#00000000"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer">
<include layout="@layout/nav_header_main"
<android.support.design.widget.NavigationView>
绝对有效。但是标题布局是多余的
问题内容: 我有一个2活动和一个服务,首先我有导航抽屉,并且标题中有2个textview,有时我必须更改它们的文本,在服务中我需要一些数据。 第一次运行时一切都很完美,但是当我从第二个转到第一个活动,我在textviews中有nullpointerexception。是什么原因造成的,以及如何解决? 和 和 错误 问题答案: 要在Navigation Drawer的标题中成功找到任何小部件,您需要
实际上,我正在我的应用程序中使用新的架构组件,并且我已经设置了导航组件。我有一个导航抽屉,我想用它。我已经设置好了,但我面临一些问题: 1-抽屉不会自动关闭。菜单正常工作并导航到正确的位置,但导航后不会关闭。我必须添加一个目的地ChangedListener才能自己关闭它。 在代码实验室里,抽屉自动关闭,我真的不明白为什么。 2-向上按钮打开抽屉。当我导航到非顶级片段时,菜单图标变为向上箭头,但当
虽然我一直在四处寻找,但找不到正确的答案。在我的抽屉菜单头,我为用户提供了他的图像和姓名,但我也允许用户从应用程序中更改他/她的姓名和图像。这些更改存储在会话管理器中。现在我想在我的抽屉菜单头反映这些更改。一切都很好,因为当我关闭应用程序并再次运行它时,它显示了更改。所以现在我需要的是一种刷新抽屉菜单头的方法。 从配置文件片段中的库中选择图像。 主页活动
我是android新手。我想实现一个由项目列表组成的导航抽屉,单击它会打开一个新活动。基本上是所有活动的导航抽屉。当我从导航抽屉中选择一个项目时,特定的活动就会打开。导航抽屉代码是通过执行空活动来实现的。我想在所有活动中实现导航抽屉功能,这些活动被视为空活动,这些活动已经有了一些功能,导航抽屉功能也可以工作。请帮帮我。 这是activity_header档案 这是我的主要活动 这是头活动java代
有人能告诉我如何创建活动到这个主要活动,导航抽屉将看到在所有他们?我需要使用这个特定的MainActivity代码。我不需要使用碎片,只要3个简单的活动将添加到这个抽屉。 NavDrawer布局:
二等 三等