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

Android Jetpack架构组件(五)之Navigation

在Android中,页面的切换管理包括应用程序Appbar管理、Fragment动画切换以及Fragment之间参数传递等内容。...相比之前Fragment管理需要借助FragmentManagerFragmentTransaction,使用Navigation组件有如下一些优点: 可视化页面导航图,方便我们理清页面之间关系...通过destinationaction完成页面间导航 方便添加页面切换动画 页面间类型安全参数传递 通过Navigation UI类,对菜单/底部导航/抽屉蓝菜单导航进行统一管理 支持深层链接...Navigation Graph:一个包含所有导航页面关系相关 XML资源。 NavHostFragment:一种特殊Fragment,用于承载导航内容容器。...,这就是深层链接DeepLink最常见场景,Navigation组件提供了对深层链接(DeepLink)支持

1.2K00
您找到你想要的搜索结果了吗?
是的
没有找到

Navigation用法

页面的切换通常还包括对应用程序App bar管理,Fragment之间切换动画以及Fragment之间参数传递。...它具有以下优势:     1.可视化页面导航图,便于我们理清页面间关系     2.通过destinationaction完成页面间导航     3.方便添加页面的切换动画     4.页面间类型安全参数传递...    5.通过NavigationUI类,对菜单,底部导航,抽屉菜单导航进行统一管理     6.支持深层链接DeepLink 二.Navigation主要元素   在正式学习Navigation...,显得很生硬,下面我们添加一个淡入淡出效果:     6.添加动画效果       首先,在res目录下新建一个anim文件夹,然后在这个文件夹下添加淡入淡出动画文件,代码如下:       //fade_in.xml...既然NavigationApp bar都需要处理页面切换事件,那么为了方便管理,Jetpack引入了NavigationUI组件,使App bar中按钮菜单能够与导航图中页面关联起来。

25520

Succinctly 中文系列教程(三)20220109 更新

支持向量机教程 零、前言 一、先决条件 二、感知机 三、SVM 优化问题 四、优化问题求解 五、软边界 SVM 六、核 七、SMO 算法 八、多类支持向量机 九、总结 十、附录 A:数据集 十一、...五、使用解决方案、文件夹语言 六、扩展可扩展性 七、调试测试改进 八、面向移动开发 VS2017 九、面向云和 Web 开发者 VS2017 Succinctly 使用函数式语言构建移动原生应用教程...W3CSS 教程 一、引言 二、布局 三、颜色 四、助手类 五、容器 六、视觉元素 七、正文 八、菜单 九、表格列表 十、按钮标签 十一、表单 十二、动画 十三、模态对话框 十四、图像 十五、 W3CSS...XAML 构建用户界面 四、使用布局组织 UI 五、Xamarin.Forms 常用控件 六、页面导航 七、资源和数据绑定 八、访问平台特定 API 九、管理应用生命周期 十、实用资源 Succinctly...面向 MacOS Xamarin.Forms 教程 零、简介 一、开始学习 Xamarin.Forms 二、跨平台共享代码 三、使用 XAML 构建用户界面 四、实用布局组织 UI 五、Xamarin.Forms

18.4K20

欢迎体验 | Wear OS 版 Compose 开发者预览版

例如,UI、运行时间、编译器动画依赖项都将保持不变。 不过,您需要使用合适 Wear OS Material、导航及基础开发库,这与您之前在移动应用中所使用开发库是不一样。...} 在添加了正确 Wear Material、基础及导航依赖项后,您就可以着手开始了。...我们还为列表提供了一个针对 Wear 优化可组合项 ScalingLazyColumn,扩展了 LazyColumn并添加了缩放透明度更改,以更好地支持圆形界面。...: 导航 最后,我们还提供了导航可组合项 SwipeDismissableNavHost,该可组合项与移动设备中 NavHost 工作原理很像,不过也支持开箱即用滑动关闭手势 (实际在后台使用 SwipeToDismissBox...欢迎您 点击这里 向我们提交反馈,或分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持

1.6K10

【Jetpack】Navigation 导航组件 ① ( Navigation 引入 | Navigation 特点 | Navigation 重要组件 | Navigation 使用流程 )

切换动画设置运行 , Fragment 与 Fragment / Activity 之间数据传递 , 应用 App Bar 管理 等操作 ; 上述操作都是 使用纯代码方式进行实现 , 在页面 App...主要功能就是帮助 Activity 管理 Fragment ; App Bar 是应用程序顶部一个可用于导航操作应用程序界面元素。..., 完成 Fragment 之间导航 ; 如果要 为 Fragment 跳转设置动画 , 可以直接在 Navigation 图形化界面中选中某个跳转 , 然后直接在 布局文件 Design 图形化界面中...管理 , 可以对 菜单 , 底部导航栏 , 抽屉菜单 页面及跳转逻辑 , 进行统一管理 ; 支持 DeepLink 深层链接 , 可以直接跳转到指定 Fragment 中 ; 三、Navigation...Graph , 并指定要跳转 destination 页面 创建 NavHostFragment 组件 执行 Fragment 页面跳转 , 并添加动画效果 使用 NavController 组件实现页面导航

36140

C# Xamarin For Android自动升级项目实战

本次分享课程适合人群如下: 1、 热爱Xamarin跨平台移动开发。 2、进一步了解学习Xamarin For Android移动开发实战知识。...二、涉及覆盖Android小技巧小技能知识点 学习本次《C# Xamarin For Android自动升级项目实战》分享课程,你将掌握以下关于Xamarin For Android方面的干货知识点...1)、拉风窗体启动动画(SplashActivity) 2)、酷炫漂亮登录窗体(LoginActivity)布局。...3)、漂亮自定义导航栏控件(TitleBar) 4)、C# Android如何检测网络是否正常。 5)、UI线程(RunOnUiThread)第一次实际运用。...8)、C# Android XML序列化反序列化。 9)、C# Android Assets目录存储我们应用程序资源配置文件。

2.6K30

实现边到边体验 | 让您软键盘动起来 (一)

Android 11 中新功能之一是可以让应用在对于屏幕上软键盘打开关闭过程创建无缝过渡动画效果,这一功能源自 Android 11 中对 WindowInsets API 大量改进。...应用也得以通过更大幅面的内容为用户带来更具有冲击力体验。 实现边到边跟软键盘有什么关系? 其实,实现边到边不单单只是在状态栏导航栏之后渲染。...应用本身需要开始负责处理那些跟应用重叠系统 UI 部分。 正如我们前面提到,两个最直观例子是状态栏导航栏。...在 Android 系统中,边衬区可以通过 WindowInsets 类 AndroidX WindowInsetsCompat 来访问。...getInsetsIgnoringVisibility(type: Int) 会返回所有边衬区,无论它们是否可见。

1.4K20

【Android进阶必学】JetPack指路明灯—Navigation

提供了Fragment管理容器 支持Deeplink、URL Link定位到Fragment Fragment、Activity间更加安全参数传递 更加方便处理过渡动画 使用Navigation主要需要创建以下几个部分代码...多个destination连接起来就组成了一个栈导航图,destination之间连接就是action。...id,即可直接返回到指定位置,第二个参数inclusive,代表返回操作是否包含指定Fragment id。...添加路由动画 路由切换动画是action属性,当我们使用action进行路由时,可以指定目标Page,原Page动画切换效果,它包含下面几个属性。...退出动画 有点绕,但是这个原来Activity间使用overridePendingTransition是一样

1.9K00

划重点 | Android Jetpack 三大重要更新!

Hilt 已经集成了对 Jetpack 开发库 Android 系统类库支持。...core-animation SeekableAnimatedVectorDrawable 来轻松创建动画 为了更轻松地实现测试动画,我们增加了两个新开发库,分别是 androidx.core...MotionLayout 动画 对于已有开发库更新 Navigation 库 Navigation 2.3 新增了对于 Dynamic Delivery 功能模块支持,该功能可以让用户只下载需要部分...另外,您可以像导航到基础模块一样导航到动态功能模块。除此之外,深层链接现在既支持检索参数,也支持自定义 action mime 类型。...新版本添加了许多新功能,包括视图组件互通性、更多 Material UI 组件、支持深色主题、新 UI 测试动画 API、对于 ConstraintLayout 支持、优化状态管理、集成可观察数据流

1.6K40

自定义View:手撸一个带FAB凹槽底部导航

如果你FAB移动了,导航栏怎么跟着变化? 同事:没得怎么变化,反正需求没有说要加动画 我:那要是PM要你导航栏凹陷深度依赖于FAB位置大小,你要怎么处理? 同事:......那阁下又当如何应对?...设计思路 既然玩那就干脆玩花一点,一步到位给中间按钮加了个简单点击动画,点击后FAB在垂直方向上执行一次往返位移,同时底部导航栏上凹槽大小跟随着FAB凹陷深度动态变化,需要实现功能点以及思路大体是下面的几个...特性,设置底部导航栏作为FAB参照物方便对齐停靠; FAB位移动画以及导航栏凹陷动态变化:自定义导航形状,根据FAB凹陷深度来动态绘制导航栏。...由于谷歌官方有现成导航相关组件BottomNavigationViewNavigation组件,一般来说如果没什么特殊需求的话只需要自己定义下导航路由图底部导航菜单menu文件,定义导航item...,动画持续时长为4秒,在按钮运动同时监听按钮位移值,并根据当前位移值更新重绘导航栏凹槽。

9710

Android Navigation + Fragment 制作APP主页面导航(步骤 + 源码)

这么一说,你是否有一些理解了呢? 2. 添加导航图 鼠标右键点击res → New → Android Resource File ?...可以看到,底部导航栏已经出来了,而且还可以点击,点击之后还有动画效果,并且图标和文字颜色还有变化,因为实际上我只是放了灰色图标而已。...那么这些工作就都是BottomNavigationView帮我们完成,的确是省了不少事情,当然这个动画效果点击之后颜色都是可以让开发者自行改。...这是Google要做UI统一,通过material来实现一些效果动画。 7....底部导航栏控制Fragment切换 在上面已经添加了底部导航栏,但是这个导航栏还没有NavHost绑定起来,所以自然就无法在切换底部导航同时,改变NavHost中Fragment。

9.1K42

NavigationXPage相比,到底谁更香?

利用Navigation组件对 Fragment 原生支持,您可以获得架构组件所有好处(例如生命周期 ViewModel),同时让此组件为您处理 FragmentTransaction 复杂性。...它可以自动构建正确“向上”“返回”行为,包含对深层链接完整支持,并提供了帮助程序,用于将导航关联到合适 UI 小部件,例如抽屉式导航底部导航。...特性对比 对比特性 Navigation XPage 注册方式 XML注册 json或者@Page注册 参数传递 动态/静态都支持 动态/静态都支持 页面切换动画 动态支持 动态/静态都支持 容器占位数...支持多个占位 仅支持一个占位 便捷性 每次都需要编写navigation导航 无需重复性代码,一个@Page注解搞定 功能性 强大,支持多种使用方式 强大,提供多种常用组件API 拓展性 优秀,方便拓展...使用对比 以下我仅从集成页面跳转两个方面进行简单使用比较,更多使用内容可以参阅本项目源码。

41720

【详解】Android Jetpack 新组件之Navigation用法源码结构分析

id是这个动作唯一属性,导航时候需要指定这个id,destination为跳转对应idfragment ,转场动画上面已经贴过代码了。...导航架构组件有一个名为safeargsGradle插件,它生成简单对象构建器类,以便对目标动作指定参数进行类型安全访问。...Navigator是一个抽象类,提供navigate、popBackStack抽象方法,指定导航回退导航,而ActivityNavigatorFragmentNavigator才是实现类,最终导航行为都是他们负责实现...>>>> 结语 至此Navigation用法源码结构都介绍分析完了,他功能还是很强大,并且有着安全性灵活性,以及可视化、人性化操作,deeplink跳转,同时还支持所有架构组件例如Lifecycle...一项新技术出来,必然是为了解决某些问题或者实现一些新功能,我们应该勇于尝试探索,并且学习它精髓,同时提醒,kotlin已经应用到官方文档教程以及demo中,并且Google做了KTX支持,所以kotlin

2.2K40
领券