首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在状态栏下面绘制NavigationView标题,在状态栏后面绘制NavigationView

,可以通过以下步骤实现:

  1. 首先,确保你已经在项目中引入了NavigationView组件的相关库和依赖。
  2. 在布局文件中,使用CoordinatorLayout作为根布局,并在其中添加NavigationView和AppBarLayout。
代码语言:xml
复制
<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <!-- 在AppBarLayout中添加Toolbar作为标题栏 -->
        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways" />

    </com.google.android.material.appbar.AppBarLayout>

    <!-- 在CoordinatorLayout中添加NavigationView -->
    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/navigation_header"
        app:menu="@menu/navigation_menu" />

    <!-- 在CoordinatorLayout中添加内容布局 -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="?attr/actionBarSize"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
  1. 在代码中,找到NavigationView并设置相关属性。
代码语言:java
复制
NavigationView navigationView = findViewById(R.id.navigation_view);
navigationView.inflateMenu(R.menu.navigation_menu);

// 设置NavigationView的点击事件监听器
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        // 处理NavigationView菜单项的点击事件
        return true;
    }
});

// 设置NavigationView的标题
View headerView = navigationView.getHeaderView(0);
TextView titleTextView = headerView.findViewById(R.id.title_text_view);
titleTextView.setText("NavigationView标题");
  1. 最后,在Manifest文件中,确保你的Activity使用了一个合适的主题,以支持状态栏的绘制。
代码语言:xml
复制
<activity
    android:name=".MainActivity"
    android:theme="@style/AppTheme">
    ...
</activity>

通过以上步骤,你就可以在状态栏下面绘制NavigationView的标题,并在状态栏后面绘制NavigationView了。

在这个场景中,腾讯云的相关产品和产品介绍链接地址如下:

  • 腾讯云移动开发服务:提供了一系列移动开发相关的云服务,包括移动应用开发、移动推送、移动分析等。详情请参考腾讯云移动开发服务
  • 腾讯云服务器(CVM):提供了弹性计算服务,包括云服务器、容器实例等。详情请参考腾讯云服务器(CVM)
  • 腾讯云云原生应用引擎(TKE):提供了容器化应用的部署和管理服务,支持Kubernetes等容器编排技术。详情请参考腾讯云云原生应用引擎(TKE)
  • 腾讯云数据库(TencentDB):提供了多种数据库服务,包括云数据库MySQL、云数据库Redis等。详情请参考腾讯云数据库(TencentDB)

请注意,以上仅为示例,实际选择使用的云计算品牌商和产品应根据具体需求和实际情况进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android Design Support Library初探-更新中

Android Design Support Library的帮助下,我们为所有的开发者,所有的2.1以上的设备,带来了一些重要的material design控件。...NavigationView 通过提供抽屉导航所需要的框架让实现更简单,同时它还能够直接通过菜单资源文件来直接生成导航元素。 ?...把NavigationView 作为DrawerLayout的内容视图来使用,比如下面的布局: <android.support.v4.widget.DrawerLayout xmlns...NavigationView处理好了和状态栏的关系,可以确保NavigationViewAPI21(5.0)设备上正确的和状态栏交互。...效果和Code请移步 NavigationDrawer和NavigationView-Android M新控件 ---- 输入框控件的悬浮标签 material design中,即使是简单的EditText

97320
  • Android如何获取屏幕、状态栏标题栏的高度详解

    前言 本文主要给大家介绍了关于Android获取屏幕、状态栏标题栏高度的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 开始之前,先来看一张图: ?...绿色区域:屏幕区域 蓝色区域:状态栏区域 红色区域:标题栏区域 黄色区域:view绘制区域 1.Android手机屏幕的高度 整个手机使用发亮,不使用变黑的部分,绿色区域 获取屏幕的高度方法一 DisplayMetrics...(蓝色区域) 状态栏指的是,手机最上方显示,系统时间,电量等等区域。...=屏幕高度-应用区域高度 Log.e("WangJ", "方法3:" + statusBar); 3.Android手机应用区域(红+黄区域) 手机应用区域=标题栏+View绘制区域(setcontent...:" + viewTop); 5.Android手机绘制区域高度(黄色区域) Rect outRect2 = new Rect(); getWindow().findViewById(Window.ID_ANDROID_CONTENT

    4.7K10

    2个函数终结状态栏6个疑难杂症

    这个比较特殊,因为ViewPager会预加载后面的Fragment,所以每一个Fragment都需要持有自己的StatusBar,这里我们设置假状态栏即可,根据我后面的分析,你会发现我实现的状态栏都是假的...由于滑动返回API19中会出现桌面而不是之前的Activity界面,但这并不是我们需要关注的问题,我们需要关注的状态栏是否也滑动即可,如果要求状态栏固定不变,不跟随滑动的话,我们也可以做到,只需调用函数后面加个参数...最后一个参数就是绘制状态栏是否DecorView中,false的话就是ContentView中,后面会具体讲解,下面我们来看最后一种情况。 设置DrawLayout的状态栏 ? ?...好了,Demo已全部展示完毕,各位司机们应该都已经了解得差不多了,是不是如标题所说,每种效果只需两个函数即可终结状态栏疑难杂症,如果还想要深入了解源码的话,那就继续往下看吧,不需要了解的话那就跳过下面这节的讲解...以上是其核心思想,之后的操作就是为以上服务,首先我们需要把状态栏设为透明状态,这样我们才可以自己绘制上我们自己的状态栏,也就是如下代码。 ?

    49710

    Android 侧滑抽屉菜单

    不过屏幕顶部还是有那个很丑的状态栏,因此我们还需要美化一下。 MainActivity中增加一个方法来设置状态栏透明。...然后onCreate中调用这个方法。 ? 然后你还需要在activity_main.xml中去设置可以显示需要显示状态栏中的布局。...下面就来介绍一下NavigationView,不过要在AS中使用这个控件还需要添加一个依赖库: 打开你app下的build.gradle,dependencies{}闭包中添加如下依赖 //添加material...那么这个导航视图的头部就写好了,下面来写导航菜单。 在这之前能先放置五个图标,都是通过路径来绘制的。都放在drawable下。 icon_friend.xml <?...下面我们回到这个activity_main.xml,把我们写的导头部和菜单都引入进NavigationView中。 ? 运行一下吧。 ? 这样的效果如何呢?

    3.9K31

    你真的了解View的坐标吗?

    简单说明一下(上图Activity采用默认Style,状态栏标题栏都会显示):最大的草绿色区域是屏幕界面,红色次大区域我们称之为“应用界面区域”,最小紫色的区域我们称之为“View绘制区域”;屏幕顶端...、应用界面区之外的那部分显示手机电池网络运营商信息的为“状态栏”,应用区域顶端、View绘制区外部显示Activity名称的部分我们称为“标题栏”。...从这张图片我们可以看到 Android中,当ActionBar存在的情况下, 屏幕的 高度=状态栏+应用区域的高度=状态栏的 高度+(标题栏的 高度+View 绘制区域的高度) 当ActionBar...不存在的情况下 屏幕的高度=状态栏+应用区域的高度=状态栏的 高度+(View 绘制区域的 高度) View 的 getLeft()和getRight()和 getTop() 和getBottom()...一般来说,我们要获取View的坐标和高度 等,都必须等到View绘制完毕以后才能获取的到,Activity 的 onCreate()方法 里面 是获取不到的,必须 等到View绘制完毕以后才能获取地到

    78020

    Android自带抽屉布局及NavigationView的使用

    获取NavigationView的中的控件出现空指针异常 我们Navigation Drawer Activity中获取控件,第一反应就是直接在onCreateView里调用findViewById,...一般这种情况我们为了获取这类未初始布局里的空间会使用inflate方法,这里其实处理是类似的,后面会提到。...就是左边抽屉拉出来后的布局了~可以看到它有两个属性app:headerLayout和app:menu 其实这两个属性后面就分别是上图中蓝色背景部分的抽屉头和下面的菜单。...操作1: 前面提到的获取不到控件的方法,可以onCreate方法中这样来获取 View headerLayout = navigationView.inflateHeaderView(R.layout.nav_header_main...这也就是说我们进行前面的操作1其实是获得该布局的同时把其加入到抽屉布局中去,这样就会出现下面的情况: image.png 操作2 解决方法也很简单,就是layout文件中去掉 app:headerLayout

    1.3K20

    是时候开始用C#快速开发移动应用了

    吓得我赶紧找了个视频做了个demo, 下面就一起来体验一下用C# 开发一个Material Deisgn风格的Android应用的乐趣吧。 先来看一下我们开发出来的应用是个什么样子?...那么对于没有Android开发经验的C#同学来说,学习Android的UI绘制则是必不可少的部份。...CoordinatorLayout、CollapsingToolbar以及RecyclerView相对来说会有些复杂,所有我们后面会留专门的篇幅来讲,感兴趣的同学可以自己先研究起来或者关注后面的博客~...我们用Support Library实现起来就非常的方便,下面是这几个组件的结构,ViewPager与AppBarLayout同级。 ?...DrawerLayout + NavigationView  图3中的左侧菜单,主流APP必备,也是只要几行代码就可以了。 ? NavigationView的使用上,有两个属性需要注意一下。

    2.6K60

    开启全面屏体验 | 手势导航 (一)

    默认情况下,应用内容的绘制范围从顶部状态栏下方开始,延伸至底部导航栏上方。(状态栏和导航栏统称为系统栏) 实现从边到边的全面屏体验后,系统栏会覆盖应用内容前方。...具体来说,这意味着应用需要做两件事: 导航栏后面绘制内容 想要支持手势导航,应用需要考虑的第一个因素是导航栏后面绘制内容。...状态栏后面绘制内容 接下来,我们来看看屏幕顶部的状态栏。只要您的内容和布局允许,我们建议尽量把内容也拓展到状态栏的后方。...但如果应用的 UI 包含一个列表,而且列表顶端还固定放着一个 Toolbar 的话,那把内容绘制状态栏后面就可能不合适了。同样,有些时候把内容绘制导航栏下面也不合适。...: △ 应用内容全屏范围内渲染,而且导航栏后面2.

    19510

    《Motion Design for iOS》(十五)

    它们是矩形的并且有坐标和大小来定义它们屏幕上的位置和尺寸。UIView是用来构建你的界面的UIKit Framework中基本的界面对象。每个视图都可能伴随着文本、形状或图片绘制。...比如说,iOS app中的状态栏是一个长且瘦的视图,处于屏幕的顶端,并且状态栏目中的每个物体(时间、电池指示器、信号强度指示器等等)都是状态栏视图中的其它视图。...你也可以通过绘制任何你想要的东西来完全自定义UIView。 这是我的app Interesting for iPhone的截屏和界面中一些视图的分解。...运营商图像视图(苹果控制) wifi信号强度视图(苹果控制) 当前时间视图(苹果控制) 电池等级视图(苹果控制) “汉堡包”菜单按钮 标题栏中的标题标签 改变子板的按钮 一个UITableViewCell...屏幕上布局,靠近或在其他视图的顶部,还可能会有高级的透明效果来整合到一起或者快速绘制。像你想象的一样,让大量的视图屏幕上移动确实是一个挑战,尤其是一个小的,低功率的设备上。

    85640

    开启全面屏体验 | 手势导航 (一)

    默认情况下,应用内容的绘制范围从顶部状态栏下方开始,延伸至底部导航栏上方。(状态栏和导航栏统称为系统栏) ? 实现从边到边的全面屏体验后,系统栏会覆盖应用内容前方。...具体来说,这意味着应用需要做两件事: 导航栏后面绘制内容 想要支持手势导航,应用需要考虑的第一个因素是导航栏后面绘制内容。...状态栏后面绘制内容 接下来,我们来看看屏幕顶部的状态栏。只要您的内容和布局允许,我们建议尽量把内容也拓展到状态栏的后方。...但如果应用的 UI 包含一个列表,而且列表顶端还固定放着一个 Toolbar 的话,那把内容绘制状态栏后面就可能不合适了。同样,有些时候把内容绘制导航栏下面也不合适。...△ 应用内容全屏范围内渲染,而且导航栏后面2. 更改系统栏颜色 我们的应用布局现在已经拓展至全屏范围,因此需要同步更改一下系统栏的颜色,以便看清其后面的应用内容。

    2.5K30

    1. Jetpack源码解析---看完你就知道Navigation是什么了?

    Navigation 配合DrawerLayout侧边栏和Toolbar标题来进行工作,不再需要我们去定义点击事件,也不需要我们去管理Fragment做切换,只需要我们做相关的配置和极少量的代码就可以了...,item的id必须要和navigation里面的fragment的id相同,否则点击事件不生效,这里先提一下,下面会详细介绍。...2.1.2 ToolBar和NavHostFragment DrawerLayout配置好之后,我们再来配置标题栏,之前我们的用法都是中间加一个存放Fragment的容器,有可能是FrameLayout...Studio3.2版本以上里面内嵌了Navigation的设计面板工具,我们可以res文件夹下面的navigation文件里面对我们的fragment/Activity进行设计。...下面我们跟到NavController.setGraph()中看下是怎样将我们设计的fragment添加进去的?

    2.2K20

    Android 沉浸式解析和轮子使用

    是因为从 Android 6.0(API 23)开始,我们可以改状态栏绘制模式,可以显示白色或浅黑色的内容和图标(除了魅族手机,魅族自家有做源码更改,6.0 以下就能实现)。...为了让标题栏回到原来的位置并且适应标题栏的颜色,我们标题栏的上方添加一个大小和 StatusBar 大小一样假的状态栏 View,View 的 BackgroundColor 可以自己设置成标题栏一样的颜色也可以是其他颜色...通过设置 paddingTop 重新绘制标题栏高度代码如下: View statusBarView = mDecorView.findViewById(IMMERSION_STATUS_BAR_VIEW...,绘制透明背景的系统 bar(状态栏和导航栏),然后用 getStatusBarColor() 和 getNavigationBarColor() 的颜色填充相应的区域。...这几个步骤其中,获取参数和设置沉浸式是必须经过,下面三种设置是开发中可能遇到的情况,也是设置参数,如果匹配到了则会进行三种设置的处理,接下来主要分析下第一个步骤和第二步骤。

    3.2K10

    1. Jetpack源码解析---看完你就知道Navigation是什么了?

    Navigation 配合DrawerLayout侧边栏和Toolbar标题来进行工作,不再需要我们去定义点击事件,也不需要我们去管理Fragment做切换,只需要我们做相关的配置和极少量的代码就可以了...,item的id必须要和navigation里面的fragment的id相同,否则点击事件不生效,这里先提一下,下面会详细介绍。...2.1.2 ToolBar和NavHostFragment DrawerLayout配置好之后,我们再来配置标题栏,之前我们的用法都是中间加一个存放Fragment的容器,有可能是FrameLayout...Studio3.2版本以上里面内嵌了Navigation的设计面板工具,我们可以res文件夹下面的navigation文件里面对我们的fragment/Activity进行设计。...下面我们跟到NavController.setGraph()中看下是怎样将我们设计的fragment添加进去的?

    2.6K30

    深入理解 Android Window系统

    它还包括DecorView,DecorView是Activity界面的根视图,负责包含应用程序的内容视图和其他元素(例如标题栏、状态栏等)。...标题栏和状态栏:DecorView还包括标题栏和状态栏等元素。标题栏通常包含应用程序的标题和操作按钮(例如返回按钮)。状态栏位于屏幕的顶部,通常包括系统通知、时间和电池状态等信息。...用户界面的整体容器:DecorView充当整个Activity界面的容器,将内容视图、标题栏和状态栏等元素组合在一起,以形成完整的用户界面。...属性:应用程序窗口可以包括标题栏、内容视图和系统状态栏。它们通常可以获得焦点,并且可以与用户交互。...通常,Activity的onStart()和onResume()方法中,Window会变得可见,并在屏幕上绘制Activity的用户界面。

    65120
    领券