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

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

在新版本的android sdk中,谷歌为开发者们带来了很多好用的东西,比如原生抽屉布局,下拉刷新等等,对很不乐意去网上找各种各样乱七八糟的第三方控件的某人真是挺不错的-。...获取NavigationView的中的控件出现空指针异常 我们在Navigation Drawer Activity中获取控件,第一反应就是直接在onCreateView里调用findViewById,...一般这种情况我们为了获取这类未初始布局里的空间会使用inflate方法,这里其实处理是类似的,后面会提到。...我们首先了解一下NavigationView的使用,新建一个抽屉活动后,我们可以看到主界面的布局文件是这样的 <?xml version="1.0" encoding="utf-8"?...image.png 这些方法都是对抽屉布局上的菜单和头布局进行操作时可以使用的。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    、ViewPager等,这里面我们需要配置一个Fragment,这个Fragment的name是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局中的特殊部件...homeFragment,下面还有一个codeFragment,其实这两个fragment也就是对应着在menu中的两个菜单,同时也对应我们侧边栏中的一个首页和一个代码页, 的东西: /** * Dispatch changes to all OnDestinationChangedListeners....不管是NavigationView还是Bottom``NavigationView,都会调用这个方法,他是AppCompatActivity的一个扩展方法,调用的是NavigationUI这个类: public...这样就将组件的状态切换绑定起来了,当fragment切换时,上面提到的接口分发,去切换布局按钮等状态。

    2.6K30

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

    、ViewPager等,这里面我们需要配置一个Fragment,这个Fragment的name是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局中的特殊部件...homeFragment,下面还有一个codeFragment,其实这两个fragment也就是对应着在menu中的两个菜单,同时也对应我们侧边栏中的一个首页和一个代码页, 的东西: /** * Dispatch changes to all OnDestinationChangedListeners....不管是NavigationView还是Bottom``NavigationView,都会调用这个方法,他是AppCompatActivity的一个扩展方法,调用的是NavigationUI这个类: public...这样就将组件的状态切换绑定起来了,当fragment切换时,上面提到的接口分发,去切换布局按钮等状态。

    2.2K10

    如何使用Fluent Design System (下)

    4.1 使用HamburgerMenu代替NavigationView UWP Community Toolkit中的HamburgerMenu是以前制作汉堡包导航菜单最常用的方案,升级到2.0版本以后它会判断运行的...除此之外还有一个常见的情况:在没激活的Windows 10上Acrylic和Reveal都不会生效。大概和Windows7没激活时不能开启Aero一样。...Windows10时代,ModernUI代替了MetroUI。这时手机市场已经可以忽略不计,放弃了各种Metro的特色后,勉强拼凑起来的ModernUI在Windows10桌面上运行起来还不错。...6.3 未来 通过FDS的五个主题可以看出FDS的一个主要目的是让数字内容通过设备与真实世界链接,这是个很好的愿景。...其实比起各种新控件新特效,我更希望FDS给出一个大的设计准则,一个严谨又包容多样性的规范。这几年随着Windows不再强势,设计师好像突然就忘了在桌面上怎么设计了。

    1.2K20

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

    、ViewPager等,这里面我们需要配置一个Fragment,这个Fragment的name是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局中的特殊部件...homeFragment,下面还有一个codeFragment,其实这两个fragment也就是对应着在menu中的两个菜单,同时也对应我们侧边栏中的一个首页和一个代码页, 的东西: /** * Dispatch changes to all OnDestinationChangedListeners....不管是NavigationView还是Bottom``NavigationView,都会调用这个方法,他是AppCompatActivity的一个扩展方法,调用的是NavigationUI这个类: public...这样就将组件的状态切换绑定起来了,当fragment切换时,上面提到的接口分发,去切换布局按钮等状态。

    2.2K20

    解析SwiftUI布局细节(二)循环轮播+复杂布局

    前言 ---- 上一篇我们总结的主要是VStack里面的东西,由他延伸到 @ViewBuilder, 接着我们上一篇总结的我们这篇内容主要说的是下面的几点,在这些东西说完后我准备解析一下苹果在...SiwftUI文档中说道的比较好玩的一个东西,具体的我们后面在看。...如果你看了我们 Demo中的代码,你就知道我们是采用 TabView 嵌套 NavigationView 的形式,在这样的模式下似乎是存在问题的, 在 TabView+NavigationView 中你利用...,都比较简单,可能是就是这个 environmentObject (我把它称为环境变量)这个是需要特别说明的一个变量,从名字上可以看出,这个修饰符是针对全局环境的。...是14.0的新东西,但它的确能达到一个满意的翻页效果。

    12.2K20

    JSP基础--三大指令

    contentType属性与response.setContentType()方法的作用相同!它会完成两项工作,一是设置响应字符流的编码,二是设置content-type响应头。...; l 当设置了contentType,而没设置pageEncoding时: pageEncoding的默认值与contentType; 也就是说,当pageEncoding和contentType只出现一个时...这时你只需要添加一些响应内容即可,例如上例中的b.jsp中我给出一些内容,IE就可以正常显示了! ---- [崔1]设置b.jsp页面为错误页,在错误页中就可以使用exception隐藏对象了。...在上例中: l 当出现404时,会跳转到error404.jsp页面; l 当出现RuntimeException异常时,会跳转到error.jsp页面; l 当出现非RuntimeException...authFlush表示在out对象的缓冲区满时如果处理!当authFlush为true时,表示缓冲区满时把缓冲区数据输出到客户端;当authFlush为false时,表示缓冲区满时,抛出异常。

    85630

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

    最左侧的这个按钮就叫作HomeAsUp按钮,它默认的图标是一个返回的箭头,含义是返回上一个活动;这里将其换了图标,并将逻辑响应修改了; HomeAsUp按钮的id永远都是android.R.id.home...实际上,Toolbar最左侧的这个按钮就叫作HomeAsUp按钮,它默认的图标是一个返回的箭头,含义是返回上一个活动。...在开始使用NavigationView之前,我们还需要提前准备好两个东西:menu和headerLayout。...menu是用来在NavigationView中显示具体的菜单项的; headerLayout则是用来在NavigationView中显示头部布局的。...接着调用了setNavigationItemSelectedListener()方法来设置一个菜单项选中事件的监听器,当用户点击了任意菜单项时,就会回调到onNavigationItemSelected

    96230

    Linux:进程地址空间、进程控制(一.进程创建、进程终止、进程等待)

    虚拟地址空间是操作系统为每个进程提供的一个假象,使得进程仿佛拥有整个内存空间 进程地址空间可以理解成是一套规范,或者是一套边界,可以方便我们系统进行编辑性检查的一个东西 进程地址空间并不会把每个虚拟地址都显式地存储起来...当CPU执行进程中的指令时,它会根据程序计数器的值来获取下一条要执行的指令的虚拟地址 进程地址空间实质 代码和数据实际上是存储在物理内存中的,而进程空间(或称为虚拟地址空间)里存储的是代码和数据的虚拟地址...) 具体来说,权限字段通常包含以下几种权限: 读权限(r):当某个页表项的读权限被设置时,拥有该页表项的进程可以读取该页面上的数据。...如果读权限未被设置,任何试图读取该页面的操作都会引发异常或错误。 写权限(w):写权限决定了进程是否可以修改页面上的数据。如果页表项的写权限被设置,进程可以对该页面进行写操作。...(就是我们上面讲的进程出现异常时收到的异常信号) 4.3 OS会做什么 当进程创建和进程终止时,操作系统会执行一系列的操作来确保系统的稳定性和资源管理的有效性。

    16200

    导航: 多返回栈 | MAD Skills

    欢迎来到第二个关于导航的 MAD Skill 系列 的另一篇文章!本文我们将介绍一个呼声很高的功能,即导航 (Navigation) 对多返回栈的支持。...通过这个功能,当用户选择另一个标签页 (Tab) 时,当前标签页的返回栈会被保存,而所选标签页的返回栈会被恢复。...通过这些扩展函数,应用可以为每个标签页保持一个单独的 NavHostFragment,每个 NavHostFragment 带有它自己的返回栈,当用户切换标签页时,应用在不同的 NavHostFragment...,并会在我切换到其他标签页时重置它的返回栈。...注意这个行为是默认启用的。 最后,让我们运行测试来验证是否一切正常。该应用已经拥有一些验证多返回栈行为的测试。我运行 BottomNavigationTest 并观察每个底部导航行为测试的运行。

    82320

    Blockchange丨老矿工的区块链5000字终极指南

    区块链:为什么我们需要如此复杂的东西? “对于每个复杂的问题,都有一个看似简单明了、实际上却是错误的答案。” —— H. L....假设一个页面的空间只能记录十个交易,当第十个交易完成后,每个人的空间也都用完了。 当一个页面被填满时,就可以将其放入文件夹中,并创建出一个新的页面,重复上述步骤2的过程。...我们已经了解到,计算这样一个数字的唯一方法是通过尝试整个宇宙中可用的每一个数字。...为了加密包含网络交易的页面,我们需要找到一个数字,当把它附加到交易清单上并送给机器时,我们能在右边得到一个以三个0开头的词。 注意:我一直只使用“以三个0开头的词”这个短语作为例子。...实际上,为了计算区块链中的加密数字,两个盒子是不够的,其实有三个盒子:两个盒子作为预填盒子,另外一个盒子用于计算。 当这三个盒子所有的内容被发送到机器时,从右边出来的答案必须满足要求。

    36110

    深入浅出 NavigationUI | MAD Skills

    概述 在之前的 导航系列文章中,Chet 开发了一个用于 跟踪甜甜圈的应用。知道什么是甜甜圈的最佳搭档吗?(难道是另一个甜甜圈?) 当然是咖啡!所以我准备增加一个追踪咖啡的功能。...当处于 selectionFragment 的时候,我们希望标题可以被更新并且显示返回按钮。...比如,当您在最顶层的目的页面时,就不会显示回退按钮,因为没有更高层级的页面。 默认情况下,您应用的最初页面是唯一的最顶层目的页面,但是您也可以定义多个最顶层目的页面。...和之前针对 BottomNavigationView 所做的相类似,这里创建一个新的方法,并且调用 setupWithNavController() 函数将 navController 传入 NavigationView...和目的页面的 id 是相匹配的。

    3K30

    Android开发之DrawerLayout实现抽屉效果

    使用注意点 1、DrawerLayout的第一个子元素必须是默认内容,即抽屉没有打开时显示的布局(如FrameLayout),后面紧跟的子元素是抽屉内容,即抽屉布局(如ListView)。...ListView,下面会讲配合 Android M推出的NavigationView 遇到的问题 1、在点击DrawerLayout中的空白处的时候,底部的content会获得事件。...由于Google的demo是一个ListView,所以ListView会获得焦点,事件就不会传递了,看不出来问题。但是如果用的include加载的布局,会出现这个情况,那么如何解决?...3、去除左右抽屉划出后内容显示页背景的灰色?...实现抽屉菜单 NavigationView是Android M中提出一个新的MD风格的组件,它将自己一分为二,上面显示一个通用的布局,下面显示一组菜单。

    7.3K60

    Android 多返回栈技术详解

    这就意味着当您调用 commit() 提交了一个调用过 addToBackStack() 方法的 Fragment 事务时,FragmentManager 会执行所有您在事务中所指定的操作 (比如 替换操作...当您调用 popBackStack() 方法时 (无论是直接调用,还是通过系统返回键以 FragmentManager 内部机制调用),Fragment 返回栈的最上层事务会从栈中弹出 -- 比如新添加的...Fragment 事务的修改 —— 当您从堆栈弹出一个非常不确定的元素时,这些事务从下层替换出来的时候会撤销之前未添加到返回栈的修改。...然而,当您使用多返回栈时,name 的作用就非常重要了: 在您调用 saveBackStack() 和之后的 restoreBackStack() 方法时,它将作为 Fragment 事务的唯一的 key...(现在叫 NavigationRailView) 和 NavigationView,多返回栈是 默认启用 的。

    96810

    1012-web前端零基础课【学习周报】

    js语法; ReactDOM.render(),把内容渲染到页面上 es6的class来定义组件类, class Xxxx extends React.component{}... state的状态,...- this.state,获取state的状态; - this.setState(),修改state的状态; 当调用this.setState()的时候,自动触发render()方法,更新页面。..._e.preventDefault(),阻止默认事件, 一般用在form表单之类 的东西。...在reactJs当中,添加class,使用className 路由:主要是应用于SPA单页应用,就是不切换页面、不跳转页面的情况下,根据不同的url,去更新同一个dom节点的不同的内容。...reducer是一个函数,接收二个参数, 当前的state,action state发生变化,会自动的触发render(), 重新渲染页面,给出一个新的state, 这导致了view变化 ,这个过程

    1.5K10

    谷歌 Material Design 从这些方面打破了我思维局限 - 1

    永远不要以为用户的设备尺寸是你可以预期的 尤其是那些用大屏的设计师们,不要有侥幸的心理认为在你的屏幕能完整显示的一页,在用户的设备上同样不需要滚页。...隐藏与否取决于必要性,而非空间是否足够 我承认并且反省,直到昨天,我的做法都是将所有可能用到的东西都摆在界面上,发现看起来过多或放不下时,才将部分通过“更多”图标等方式隐藏起来。...我们是可以找到一个突破点,做一些不一样、打破格局的东西的,但是这个东西必须是真正重要且唯一的东西。这个很好理解,如果只有一个东西不一样,那么画面会很有趣,但是如果所有东西都不一样,就会很混乱了。...Material Design 的圆形悬浮按钮就是一个真正重要且唯一的东西。 ? 弹出框没必要多复杂 我从没仔细看过弹出框的标题是什么,虽然我知道大部分弹出框都有标题。...在浏览网页时,我么也希望能够一眼在界面上扫到自己感兴趣的内容,然后再深入研究。所以,设计师通常只需要抛出一些“引子”,用户如果感兴趣,就可以顺着这个引子寻找到他们想要的东西。

    96180
    领券