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

在一个活动中使用两个NavigationView,并在AppBarLayout中使用两个单独的按钮打开和关闭它们

首先,NavigationView是Android Material Design库中的一个组件,用于创建侧边栏导航菜单。它可以提供导航功能和展示应用的不同页面或功能。

在一个活动中使用两个NavigationView,可以通过以下步骤实现:

  1. 在布局文件中添加两个NavigationView组件,并设置它们的id,例如navView1和navView2。
代码语言:txt
复制
<com.google.android.material.navigation.NavigationView
    android:id="@+id/navView1"
    ... />

<com.google.android.material.navigation.NavigationView
    android:id="@+id/navView2"
    ... />
  1. 在活动的代码中,找到AppBarLayout中的两个按钮,并设置它们的点击事件。
代码语言:txt
复制
Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);

button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 打开第一个NavigationView
        DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
        NavigationView navView1 = findViewById(R.id.navView1);
        drawerLayout.openDrawer(navView1);
    }
});

button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 打开第二个NavigationView
        DrawerLayout drawerLayout = findViewById(R.id.drawerLayout);
        NavigationView navView2 = findViewById(R.id.navView2);
        drawerLayout.openDrawer(navView2);
    }
});
  1. 最后,需要在活动的布局文件中添加一个DrawerLayout组件,并将AppBarLayout和两个NavigationView放在其中。
代码语言:txt
复制
<androidx.drawerlayout.widget.DrawerLayout
    android:id="@+id/drawerLayout"
    ... >

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

        <!-- AppBarLayout中的其他组件 -->

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

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navView1"
        ... />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navView2"
        ... />

</androidx.drawerlayout.widget.DrawerLayout>

这样,当点击按钮1时,第一个NavigationView会从左侧滑出显示;当点击按钮2时,第二个NavigationView会从左侧滑出显示。用户可以在NavigationView中进行导航和选择不同的页面或功能。

对于腾讯云相关产品和产品介绍链接地址,可以根据具体需求选择适合的产品。腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等。可以访问腾讯云官网(https://cloud.tencent.com/)了解更多信息。

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

相关·内容

Material Design 实战 之第四弹 —— 卡片布局

卡片式布局也是MaterialsDesign中提出一个概念,它可以让页面元素看起来就像在卡片中一样,并且还能拥有圆角投影,下面我们就开始具体学习一下。...定义了一个数组,数组存放多个Fruit实例,每个实例代表一种水果; initFruits()方法,先清空fruitList数据,再使用一个随机函数,从刚才定义Fruit数组随机挑选一个水果放入到...AppBarLayout ---- 首先RecyclerView会把Toolbar给遮挡住原因: 由于RecyclerViewToolbar都是放置CoordinatorLayout, 而前面已经说过...这里准备使用DesignSupport库中提供另外一个工具——AppBarLayout。...接下来使用AppBarLayout两步解决前面的覆盖问题: 第一步将Toolbar嵌套到AppBarLayout, 第二步给RecyclerView指定一个布局行为(app:layout_behavior

2.1K10

Material Design 实战 之第二弹——滑动菜单详解&实战

DrawerLayout 控件用处:实现滑动菜单 1.1 首先它是一个布局,布局中允许放入两个直接子控件, 第一个子控件是主屏幕显示内容;...实际上,Toolbar最左侧这个按钮就叫作HomeAsUp按钮,它默认图标是一个返回箭头,含义是返回上一个活动。...开始使用NavigationView之前,我们还需要提前准备好两个东西:menuheaderLayout。...menu是用来NavigationView显示具体菜单项; headerLayout则是用来NavigationView显示头部布局。...另外两个TextView分别用于显示用户名邮箱地址,它们都用到了一些RelativeLayout定位属性; 3/4.使用NavigationView 现在menuheaderLayout都准备好了

92730

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

基本使用 虽然之前文章已经很详细介绍了Navigation,但是这里也简单叙述一下我项目中具体使用: 2.1 Navigation+DrawerLayout+ToolBar 我们可以通过使用...homeFragment,下面还有一个codeFragment,其实这两个fragment也就是对应着menu两个菜单,同时也对应我们侧边栏一个首页一个代码页, <item...、setupWithNavController进行关联绑定 到此,我们基本配置就结束了,可以看到我们drawerlayout首页代码按钮点击会切换对应fragment,同时toolbar汉堡按钮返回按钮也会自动切换...没错这就是一个一个Action,当你手动将两个Fragment进行连线后,xml布局里面会对应生成一个标签,例如: <action android:id="@+id/action_dashBoardSampleFragment_to_notificationSampleFragment...没错,就是我们<em>在</em>xml布局<em>中</em>设置<em>的</em>那<em>一个</em>。

2.5K30

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

基本使用 虽然之前文章已经很详细介绍了Navigation,但是这里也简单叙述一下我项目中具体使用: 2.1 Navigation+DrawerLayout+ToolBar 我们可以通过使用...homeFragment,下面还有一个codeFragment,其实这两个fragment也就是对应着menu两个菜单,同时也对应我们侧边栏一个首页一个代码页, <item...、setupWithNavController进行关联绑定 到此,我们基本配置就结束了,可以看到我们drawerlayout首页代码按钮点击会切换对应fragment,同时toolbar汉堡按钮返回按钮也会自动切换...没错这就是一个一个Action,当你手动将两个Fragment进行连线后,xml布局里面会对应生成一个标签,例如: <action android:id="@+id/action_dashBoardSampleFragment_to_notificationSampleFragment...没错,就是我们<em>在</em>xml布局<em>中</em>设置<em>的</em>那<em>一个</em>。

2.1K20

1. Android_Jetpack组件---Naviagtion源码解析

基本使用 虽然之前文章已经很详细介绍了Navigation,但是这里也简单叙述一下我项目中具体使用: 2.1 Navigation+DrawerLayout+ToolBar 我们可以通过使用...homeFragment,下面还有一个codeFragment,其实这两个fragment也就是对应着menu两个菜单,同时也对应我们侧边栏一个首页一个代码页, <item...、setupWithNavController进行关联绑定 到此,我们基本配置就结束了,可以看到我们drawerlayout首页代码按钮点击会切换对应fragment,同时toolbar汉堡按钮返回按钮也会自动切换...没错这就是一个一个Action,当你手动将两个Fragment进行连线后,xml布局里面会对应生成一个标签,例如: <action android:id="@+id/action_dashBoardSampleFragment_to_notificationSampleFragment...没错,就是我们<em>在</em>xml布局<em>中</em>设置<em>的</em>那<em>一个</em>。

2.1K10

Android5.06.0之后新增控件说明

为此,博主初步整理了Android5.06.0之后新增控件,及其对应说明博文,给大家提供一个可资学习借鉴索引。...,项目中使用时候,可分为三大类: 1、第一类是内核提供控件,位于SDKandroid.jar。...比如水波图形RippleDrawable矢量图形VectorDrawable,这两个控件Android5.0之后系统内核中提供,所以只有系统版本不低于5.0手机才能使用它们,运行4....*系统手机是无法正常调用这两个控件。 2、第二类是v4兼容库提供控件,位于SDKandroid-support-v4.jar。...3、第三类是v7兼容库design库,它们有各自库工程,开发者要在App工程手工导入用到兼容库。 v7与design库导入App工程后,编译出来App即可兼容4.*系统。

1.2K20

Android编程之Navigation项目迁移AndroidX踩坑记录

项目迁移AndroidX过程遇到一些问题,特别是Navigation抽屉页面迁移过程遇到一些问题,跟着网上教程走完了全程,却总是闪退,原因直指xml布局文件。...选择菜单上ReFactor->Refactor to AndroidX...即可 AndroidX需要使用最新Android sdk,打开Android Studio设置找到Android SDK...一般项目经过以上步骤就完成了,但是我迁移Navigation时候发现还是无法运行,经过不断排查发现在xml文件中使用所有support型控件也需要替换,下面记录下我替换控件。...再见,android.support 不推荐使用androidx.test.InstrumentationRegistry AndroidX官方新旧对比 一个神奇控件——Android CoordinatorLayout...与Behavior使用指南 Android框架之路——NavigationView使用(结合ToolBar) --------------------- Author: Frytea Title

1.5K20

再不迁移到Material Design Components 就out啦

使用AppCompat主题,设计支持库小部件(包括具有自定义背景按钮)以及需要迁移各种其他元素。...但是,升级后,您可能会注意到某些控件颜色其他属性某些意外更改。 ? 在上面的示例按钮发生了变化、文本图标的颜色发生了变化。FAB 现在变成了蓝绿色,并且文本字段看起来完全不同。不用担心。...下面我们通过一些常见迁移方案来了解一下这些问题 文字栏位改变 MDC ,文字字段默认样式发生了改变。改进版本是经过用户调查研究。 ? 我们建议您使用这个版本,来提高可用性可配置项性。...下面这几种情况应该考虑 布局控件如果有对应 MDC 控件的话,直接使用 MDC 控件 任何风格,默认风格默认风格属性应该改变成 MDC 版本 在编程或者自定义类父级类使用任何控件都应该为...*样式相应textAppearance*主题属性,它们替代了现有的AppCompat /框架样式。 ? MDC小部件使用这些属性来设置文本样式。

3.1K30

导航组件概览 | MAD Skills

您还需要在用户点击设备返回按钮 ActionBar 向上按钮时正确地处理返回向上操作。有时候不同应用处理这两个相关而又不完全相同操作会产生一些不一致结果。...IDE 加载完毕该应用之后,打开导航资源文件 nav_graph.xml 并在 Design 模式 (此外还有 Code 与 Split 模式) 下查看。您会看到当前应用导航图样子。...Basic Activity 模板可以创建两个目的地 点选这些目的地,您可以从右边属性表单查看它们相关信息,比如下图中展示了这个目的地使用了 Fragment 类。 ?...之前图表导航图中,您还可以发现两个目的地之间箭头,它们定义了导航图中可能导航操作 (action)。...导航部件 我们已经层级结构查看了几个 UI 组件,以及它们彼此之间是如何关联,接下来我想介绍一下几个重要部件,导航组件正是利用它们目的地之间实现导航。

1.6K30

Material Design Android 应用

分享时能将每个知识点都有个透彻而又完整分析,不要追求速度。实话说这次分享确实给我带了不少收获,相信在下次分享能够有一个满意表现。...跟随着15年Android 5.0问世,谷歌设计师们还给我们带来一系列具有Material Design风格控件。这些控件被统一放置support design库,以供开发中使用。...窗口背景颜色 navigationBarColor 导航栏颜色 通过styles配置颜色来定制您主题,并在AndroidManifest应用。...setOnNavigationItemSelectedListener {} 3、DrawerLayout、NavigationView BottomNavigationView相对,不得不介绍一下...Toolbar作为早期AndroidActionBar替代品,定制性操作性挺高了不少。使用时候需要设置NoActionBar主题。

1.2K20

Android自带抽屉布局及NavigationView使用

获取NavigationView控件出现空指针异常 我们Navigation Drawer Activity获取控件,第一反应就是直接在onCreateView里调用findViewById,...问题引起其实非常简单,是因为activity刚创建时候,Dawer其实是没有打开,所以布局没有初始化,自然也不能找到其中空间。...我们首先了解一下NavigationView使用,新建一个抽屉活动后,我们可以看到主界面的布局文件是这样 <?xml version="1.0" encoding="utf-8"?...就是左边抽屉拉出来后布局了~可以看到它有两个属性app:headerLayoutapp:menu 其实这两个属性后面就分别是上图中蓝色背景部分抽屉头下面的菜单。...操作1: 前面提到获取不到控件方法,可以onCreate方法这样来获取 View headerLayout = navigationView.inflateHeaderView(R.layout.nav_header_main

1.2K20

【Android】5.x炫酷标题栏动画使用理解

CollapsingToolbarLayout则只是一个对Toolbar进行包装,实现了可以对标题栏进行折叠功能一个基本容器,它是作为AppBarLayout直接子布局来使用。...这么说好像也不怎么好理解,题主就按自己理解讲得通俗点,举个例子: 上面那张动图里,标题栏包括了一个Toolbar、一个背景图(imageView)、一个FAB按钮。...如何使用 好了,这样一来对于AppBarLayoutCollapsingToolbarLayout就有一个大概理解了,那么下面就看看该怎么用。...AppBarLayout提供了一个布局参数scrollFlags,通过子控件设置这个属性值,就可以实现相应行为。...使用方法就像上面官网说,可以xml布局文件中直接在子控件通过设置app:layout_scrollFlags,也可以java代码通过子控件实例对象调用setScrollFlags(int)来实现

1K60

Android材料设计Material Design 开篇前言

零、前言 虽然网上已经有了很多Material Design系列文章,但是动眼动手是有本质区别的 虽然有很好文章,但不太系统,既然要总结Material Design,那就写一个系列吧,可以说...,而不是谷歌闲着没事弄个东西刁难我们 所有的代码都我都亲自测试过,文章语言也尽量用我的话来叙述,大量动图图片也是我一个一个 属性介绍以xml里为主,代码动态设置使用`setXXX`即可...+CoordinatorLayout Android材料设计之CollapsingToolbarLayout+Palette Android材料设计之DrawerLayout+NavigationView...DrawerLayout.gif ---- 11.NavigationView资料卡片: 国籍:View 城市:ViewGroup(FrameLayout) 爱好:装东西 一句话:我就是我,不一样自我...NavigationView.png ---- 12.TextInputLayout资料卡片: 国籍:View 城市:ViewGroup(LinearLayout) 爱好:装东西 一句话:输入框最佳神辅助

81610

VBA专题10-20:使用VBA操控Excel界面之隐藏取消隐藏控件、组选项卡

Custom UI Editor中保存该文件,首次Excel打开时,会出现关于InitializeHideAlignmentGroup过程错误消息提示,因为这两个过程仍然没有标准VBA模块中找到...注意,两个按钮getVisible属性都使用了相同getVisibleBtnBC回调过程。当打开工作簿或者当其中一个两个控件被无效时执行该回调。...Sheet1,那么使BtnBBtnC按钮可见,否则这两个按钮隐藏。...随后,调用相同getVisibleBtnBC过程,遍历所有无效控件(本例,是两个按钮),它们getVisible属性使用相同getVisibleBtnBC过程。...如果活动单元格名称是Sheet1,那么这两个按钮可见,否则被隐藏。 自定义组选项卡 隐藏(取消隐藏)自定义组选项卡方法与隐藏(取消隐藏)内置组选项卡方法相同。

7.7K20
领券