Android系列之Navigation的目的地(Destination)
目的地主要有三种类型
- Activity
- Fragment
- 占位符目的地
Activity
从现有的activity进行创建
点击 New Destination ,然后在显示的下拉列表中,点击相应目的地。
新建activity来创建
完全限定的类名称
<?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/navigation_graph"app:startDestination="@id/simpleFragment"><activityandroid:id="@+id/sampleActivityDestination"android:name="com.example.android.navigation.activity.DestinationActivity"android:label="@string/sampleActivityTitle" /> </navigation>
类似于
startActivity(new Intent(context, DestinationActivity.class));
Intent-Filter
本应用的Activity
清单文件
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.android.navigation.activity"><application><activity android:name=".DestinationActivity"><intent-filter><action android:name="android.intent.action.VIEW" /><dataandroid:host="example.com"android:scheme="https" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity></application> </manifest>
navigation graph
<?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/navigation_graph"app:startDestination="@id/simpleFragment"><activityandroid:id="@+id/localDestinationActivity"android:label="@string/localActivityTitle"app:action="android.intent.action.VIEW"app:data="https://example.com"app:targetPackage="${applicationId}" /> </navigation>
其他应用的Activity
<?xml version="1.0" encoding="utf-8"?>` <navigation xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/navigation_graph"app:startDestination="@id/simpleFragment"><activityandroid:id="@+id/localDestinationActivity"android:label="@string/localActivityTitle"app:action="android.intent.action.VIEW"app:data="https://example.com"app:targetPackage="com.example.android.another.app" /> </navigation>
Fragment
从现有的fragment进行创建
点击 New Destination ,然后在显示的下拉列表中,点击相应目的地。
新建fragment来创建
- 在 Navigation Editor 中,点击 New Destination 图标 ,然后点击 Create new destination。
- 在随即显示的 New Android Component 对话框中,创建您的 Fragment。
从DialogFragment创建目的地
如果DialogFragment未创建,创建DialogFragment
在Navigation Graph中添加dialog标签
<?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/nav_graph">...<dialogandroid:id="@+id/my_dialog_fragment"android:name="androidx.navigation.myapp.MyDialogFragment"><argument android:name="myarg" android:defaultValue="@null" /><actionandroid:id="@+id/myaction"app:destination="@+id/another_destination"/> </dialog>...</navigation>
占位符目的地
您可以使用占位符来表示尚未实现的目的地。 占位符充当目的地的视觉表示形式。在 Navigation Editor 中,您可以像使用任何其他目的地一样使用占位符。
Android系列之Navigation的目的地(Destination)相关推荐
- Android 之 Navigation在目的地之间传递数据、ViewModel
文章目录 Android 之 Navigation在目的地之间传递数据.ViewModel 一.在目的地之间传递数据 1. 定义目的地参数 2.使用 Safe Args 传递安全的数据 3.在目的地之 ...
- Android导航组件Navigation从入门到精通
文章目录 一.前言 二.导航简介 2.1 导航组件的组成 2.2 导航的原则 2.2.1 固定的起始目的地 2.2.2 导航状态表现为目的地堆栈 2.2.3 在应用的任务中向上按钮和返回按钮行为相同 ...
- Android jetpack之Navigation
1.使用Navigation 1.1创建Navigation Graph 在res文件夹下创建一个Android Resource File,新建一个Navigation Graph文件,将File ...
- Android导航组件Navigation实现原理
对于导航组件的使用方式不是本文的重点,具体使用可以参考官方文档,导航组件框架是通过fragment来实现的,其核心类主要可以分为三个NavGraph.NavHostController.NavHost ...
- android 导航栏navigation
navigation有3个重要的组成部分:导航图 .NavHost .NavController: 导航图即为xml文件 1.依赖: dependencies {def nav_version = ...
- 【Android Jetpack】Navigation——条件导航
文章目录 1. 前言 2. 实现 2.1 基础配置 2.2 页面逻辑 2.3 代码 2.3.1 UserModel 2.3.2 LoginFragment 2.3.3 DetailFragment 3 ...
- android如何在底部显示四个按钮,[Android系列—] 四. 添加操作栏(Action Bar)
[Android系列-] 4. 添加操作栏(Action Bar) 前言 操作栏是最重要的设计元素之一,使用它来实现你的应用程序活动.通过提供多种用户界面功能, 使应用程序快速和其他的Andorid应 ...
- 【Xamarin开发 Android 系列 5】 Xamarin 的破解
[Xamarin开发 Android 系列 5] Xamarin 的破解 原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业 ...
- Android系列之Fragment(二)----Fragment的生命周期和返回栈
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
最新文章
- 数据结构——基本概念
- Spring基于 Annotation 的简单介绍
- python服务器搭建nginx_Nginx简单快速搭建文件服务器
- 警告:‘xxxx’ 将随后被初始化
- python io多路复用_python实现IO多路复用 --- selector
- 电脑休眠和睡眠的区别_关机、睡眠、休眠的区别
- i12蓝牙耳机使用说明书图片_配置强悍、适用于开车、运动的蓝牙耳机Xisem西圣 Ares使用体验...
- 堆排序算法---属于选择排序
- 《人月神话》读后感一
- C++ 虚函数表浅析
- SQL Server 2014新特性:其他
- 如何用c语言word文件页数,word文件页码怎么设置
- pc电脑微信多开的方法,无需安装任何工具2022
- zoho邮箱收费和免费区别_您需要了解有关适用于ios和android的新zoho vault移动应用程序的所有信息...
- RabbitMQ 下载安装 (window) 百度网盘
- Python 科赫曲线绘制
- 富途证券递交招股书:前三季营收5.8亿港元 腾讯持股38%
- 全民小视频逆势崛起:短视频的“小趋势”与“信用飞轮”
- ifconfig命令用法举例
- sa8155 qnx开发笔记之一设备共享
热门文章
- cosx绝对值的积分
- 共射级放大电路—密勒电容影响下的压摆率
- 边沿触发 与电平触发
- D. Nastia Plays with a Tree(树形dp)
- Result Maps collection already contains value for com.anoxia.mapper.XXXMapper.BaseResultMap
- mysql按照音序排列_什么是按音序排列?
- html5把六张图片做成立方体,一篇文章教会你利用html5和css3实现3D立方体效果图...
- XDOJ 中心对称字符串
- 查询服务器外网IP和根据域名查询外网IP
- Hadoop HFDS 的 Shell 操作