Android是在Android 3.0 (API level 11)引入了Fragment的,中文翻译是片段或者成为碎片(个人理解),可以把Fragment当成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。 其中有个经典图,大家就字面上理解下就行: 可以
Navigation是一种导航的概念,即把Activity和fragment当成一个个的目的地Destination,各目的地形成一张导航图NavGraph,由导航控制器NavController来统一调度跳转,本文会先简单分析下AS自带的示例代码。 Jetpack笔记代码 本文源码基于SDK 29,IDE是Androidstudio 3.5.3 ...
在正式学习Navigation组件之前,我们需要对Navigation的主要元素有一个简单的了解,Navigation主要由三部分组成。 Navigation Graph:一个包含所有导航和页面关系相关的XML资源。 NavHostFragment:一种特殊的Fragment,用于承载导航内容的容器。 NavController:管理应用导航的对象,实现Fragment之间的跳转等操作。 二、Navigation使用 2...
1. Fragment重建问题分析 1.1 配置变更 当设备配置发生变化(如屏幕旋转)时,Android系统会销毁当前的Activity并重新创建它。如果Fragment是通过Activity的FragmentManager添加的,那么Fragment也会被销毁并重新创建。 1.2 Navigation组件行为 在Navigation组件中,当用户导航到不同的目标时,当前的Fragment可能会被销毁并替换为新...
NavHostFragment是导航视图的展示容器。 <fragmentandroid:id="@+id/nav_host_fragment"android:name="androidx.navigation.fragment.NavHostFragment"android:layout_width="0dp"android:layout_height="0dp"app:defaultNavHost="true"app:layout_constraintBotto...
Jetpack Navigation组件就是为了解决多个Fragment切换的问题。 举个例子比如我们要做个拍照的程序,总共有三个页面:开始界面startFragment、相机取景界面cameraFragment、图片预览界面picResultFragment。 1.创建好这三个Fragment页面,然后在MainActivity里添加NavHostFragment作为承载多个Fragment的容器组件: <fragment android:id...
Navigation主要由三部分组成: Navigation graph:一个包含所有导航相关信息的 XML 资源 NavHostFragment:一种特殊的Fragment,用于承载导航内容的容器 NavController:管理应用导航的对象,实现Fragment之间的跳转等操作 二、基本使用 2.1 添加依赖 dependencies { def nav_version = “2.3.1” ...
Navigation是一种导航的概念,即把Activity和fragment当成一个个的目的地Destination,各目的地形成一张导航图NavGraph,由导航控制器NavController来统一调度跳转,本文会先简单分析下AS自带的示例代码。 Jetpack笔记代码 本文源码基于SDK 29,IDE是Android studio 3.5.3 ...
android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" app:navGraph="@navigation/nav_graph" /> 其中,app:navGraph属性指定了使用的导航图资源。
Navigation是一个可简化的Android导航的库和插件,换句话说,Navigation是用来管理Fragment的切换的,并且是通过可视化的方式来进行管理的。2.Navigation的优缺点 优点 处理Fragment的切换默认情况下正确处理Fragment的前进和后退为过渡和动画提供标准化的资源可以绑定Toolbar/BottomNavigationView/ActionBar等数据传递时提供类型...