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

使用导航组件: 对话框目的地 | MAD Skills

概览 本系列 上一篇文章 中,我大致介绍了导航组件以及如何使用导航图。 在这篇文章中,我会介绍如何使用 API 来导航到对话框目的地 (dialog destination)。...而对于那些我不喜欢,我也可以避免再买到它们。但我很健忘,所以问题来了,我如何才能记录如此重要数据呢? 我知道了: 我要用一个应用!...还好,解决方法也非常简单,所以大家这里只需要知道有可能会出现这样问题就可以了。 如果您碰到了这个问题,直接去导航图 XML 代码中将 fragment 标签改成 dialog,就可以解决这个问题。...这是因为上述代码片段来自于 DonutTracker 应用最终版本,该版本中我使用了 SafeArgs。...注意: 点击返回按钮,同样会返回甜甜圈列表,因为导航组件已经自动为我们设置好了返回栈。 总结 通过这篇文章我们了解了如何使用内置导航组件快速地创建一个新应用,并且学习了如何导航到对话框目的地。

1.4K30

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

如果你FAB移动了,导航栏怎么跟着变化? 同事:没得怎么变化,反正需求没有说要加动画 我:那要是PM要你导航栏凹陷深度依赖于FAB位置大小,你要怎么处理? 同事:......那阁下又当如何应对?...之前已经导航栏上留好了放置大按钮位置,接下来就是想办法把这个按钮塞进去,并且设置按钮中心点与导航栏顶部居中对齐。...考虑到这个按钮需要显示在其他控件最上层,而且需要以导航栏为参照物来确定位置,利用CoordinatorLayout特性正好可以很方便地实现,于是将整个Activity布局文件修改如下: //activity_main.xml...唉慢着,这凹槽深度不是还得跟随按钮位置动态变化吗,那这些坐标又当如何变动??老铁别急,下面继续来分析。...假设按钮垂直方向上的当前位移距离大小为d,当按钮向上运动时导航栏上凹槽应该往中间收缩,收缩过程中保持两旁小圆半径大小30°夹角不变,这时另中间圆圆心同步垂直方向上移动-d,动态修改distance

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

项目需求讨论 — 用Transition做一个漂亮登录界面

虽然以前版本中,已经可以使用ActivityoverridePendingTransition() FragmentTransactionsetCustomAnimation()来实现Activity...第二个Activity就会让现在相同trasitionNamefab按钮,以传过来第一个Activity按钮相同位置为起始点,然后通过动画到了最终地方。...(所以动画是第二个Activity中完成,只是按钮起始状态是以第一个Activity传过来按钮状态信息相同,然后到最终用户设置位置。)...并且其实动画是绘制ViewOverlay上面 第二步让fab按钮通过曲线路径变化: 我们直接不做任何处理,默认是fab按钮位置变化是直线。 我们更希望是: ?...所以我们fab按钮过渡动画结束后,不是简单对cardView设置View.VISIBLE就可以。

1.8K20

Floating Action Button-Android M新控件

浮动操作按钮代表一个屏幕之内最基本额操作。关于FAB按钮更多信息使用案例请参考谷歌官方设计规范。 运行效果 ?...---- 用法 谷歌2015年 I/O大会上公布了可以创建浮动操作按钮支持库,但是在这之前,则须使用诸如makovkastar/FloatingActionButton futuresimple...CoordinatorLayout帮助我们协调它所包含子view之间交互,这一点我们后面讲如何根据滚动变化让按钮动画隐藏与显示时候有用。...实际上只需要指定一个布局文件,就可以看到效果了,只不过是这时候FAB是固定在屏幕指定位置,而无法随之滚动,不着急,下面会介绍如何设置成可滚动FAB 属性介绍 FAB 默认使用应用主题中设置浮起色作为按键背景...这个类用于定义按钮如何响应包含在同一CoordinatorLayout之内其它view。

1.4K40

终于等到你,新虚拟键盘API 即将到来,快来先睹为快吧!

这已经是多年来网络上默认行为了。本文中,我们将探讨这个问题,为什么会发生这种情况,以及如何使用虚拟键盘API来解决它。让我们开始吧。 问题 深入细节之前,让我们通过一个例子来了解一下。...通过这样,我们可以使用以下CSS环境变量来检测键盘位置尺寸: keyboard-inset-top 键盘上边距 keyboard-inset-right 键盘右边距 keyboard-inset-bottom...你可能会对由于标题固定底部存在而导致空间减少感到困惑。我们可以使用垂直媒体查询来垂直空间足够情况下显示标题。...为桌面使用不同值 假设我们想在桌面浏览器上进一步调整浮动按钮位置,我们该如何做呢?嗯,我考虑使用 max() 比较函数,结果行得通。...这是一个演示它如何工作视频: 结束 这就是本文全部内容。我对虚拟键盘API有了很多了解,迫不及待地想在我下一个项目中应用它。我最后没想到是会在这个话题上写4000多字。

28920

安卓开发中Model-View-Presenter(MVP模式)

第一种情况下,viewPresenter,以及presenter mode都是互相需要知道。...像这样,我们可以使用RxJava我们服务,所以我们可以操作数据与我们所有这个库提供运营商LiveData视图一部分,这将使我们能够使一个实现,意识到我们活动生命周期变化,甚至使用谷歌提供视图模型...View Android中,我们视图实现将对应于一个活动或一个片段(示例/项目中片段),但它可以是一个ViewModel,甚至是一个可视化组件。...这里不讨论视图是由N个片段组成活动情况,因为每个片段都有M个演示者,我们可以假设视图是这些片段每一个,尽管它们随后被分组到一个片段中(甚至另一个片段中)。...目前,有一些体系结构,如ReduxRedux-saga,依赖投资原则下工作,某种意义上说,它们完全是事件驱动

1.6K30

实战 | 使用揭露动画(Reveal Effect)做一个丝滑Activity转场动画

提笔之际(附总体思路) ---- 最近跟几个小伙伴实践一个项目,考虑到界面效果,我们决定使用揭露动画作为Activity转场动画。 ? 这里主要是我负责这部分实现。...; 这篇文档跟代码算是帮上大忙了,有较大参考价值; 不同是作者思路是跳转目标活动中,启动做揭露动画收挽,收挽结束后再finish(); 我这里根据情况修改为跳转目标活动中按下返回键即...GitHub中附方法详解图 引子 ---- 使用揭露动画做一个丝滑Activity转场动画, 关于这个需求,可能不同同学,会有不同问题, 我这里把可能遇到问题跟我完成这个demo过程中遇到问题做一个总结...详细可见参考文档; “丝滑”之解 这个转场动画要实现得丝滑,需要注意几个细节: 活动A跳转到活动B情况下, a.A点击触发跳转时刻,揭露动画要放在哪个活动展开; b.B按下返回键之后,揭露动画又要放在哪个活动收挽...原生控件来作为揭露动画操作对象,即通过对View控件显示隐藏以及动画操作来具体实现揭露动画; 最后放置一个悬浮按钮,用于启动点击事件,这里响应事件是启动揭露动画: 另外说一下,关于FloatingActionButton

1.8K30

动画必须有(二):悬浮菜单了解一下!

前言 悬浮按钮是我非常喜欢, 可以把最关键功能放入到悬浮按钮中. 比如日记app里新建日记, 阅读类app里喜欢. 稍微处理一下可以将悬浮按钮扩展成悬浮菜单, 来看下实现吧!...然后是官方文档, 这个文档说了如何调用. 搭配Snackbar 官方推荐配合Snackbar来使用, 这都不多说了. ?...配合Snackbar 显示隐藏 然后还有就是悬浮按钮隐藏显示函数....吸附并设置位置 ---- FloatingActionButton实例 来看看效果图是如何实现吧. 布局文件 布局文件是个要点, 里面塞进了两个菜单, 你选一个喜欢用就好....xml中加入app:fabSize="mini"就变成mini尺寸了. 所以设置动画位置时候不是将按钮全部放置同一位置, 需要修正位置.

1.7K30

这四种最最常见按钮类型,设计师必须掌握

“Shop now”按钮特斯拉主页上引起了很多关注。 需要注意事情 传达按钮状态。用户应该通过查看按钮来了解按钮的当前状态。例如,禁用状态应该具有与活动状态不同视觉风格。...实心按钮启用禁用状态 使用正确按钮形状。关于形状,有两种流行选择——方角圆角。带有圆角按钮人眼看来确实更好看(我们自然倾向于避免具有锋利边缘物体)。...最后但并非最不重要一点是,幽灵按钮是视觉上多功能按钮,这意味着它们可以不同类型背景上很好地工作。它使幽灵按钮适用于深色浅色主题。...FAB 是一个只有图标的按钮,设计有微妙阴影,通常位于屏幕右下角。 何时使用 由于 FAB 是一个相对紧凑按钮,它通常用作移动应用程序主要操作。FAB 通常用于一操作。...例如,Twitter 移动应用程序使用 FAB 创建推文。 也可以桌面上使用 FAB,但没有必要这样做,因为我们有足够屏幕空间。 设计要点 确保所有用户组都清楚地了解图标的含义。

3.1K10

Android 高德地图API(详细步骤+源码)三

八、地图点击长按事件   实际开发中都会对地图点击长按做处理,比如点击某一个地方获取经纬度,下面来操作一下吧。 [在这里插入图片描述] initMap()方法中,添加对地图点击长按监听。...最后别忘了地图点击长按监听中调用这个latlonToAddress()方法。 [在这里插入图片描述] 下面运行一下。...比如说你到一个景点去游玩,不知道路线只知道景点名,那么这个时候通常你会在导航软件中输入这个景点名,然后搜索出前往路线及搭乘交通工具。...下面layout下创建两个xml。 custom_info_contents.xml <?xml version="1.0" encoding="utf-8"?...⑨ 改变地图中心点   我们实际使用中通常会有这样操作,希望点击一下就可以移动到所在地,这其实是比较容易做到,回顾我们现在是一进入地图就会定位到当前所在地,而当我点击地图上其他位置时,会增加一个标点

3.5K31

❤️【Android精进之路-03】创建第一个Android应用程序竟然如此简单❤️

这篇文章将介绍如何使用Android Studio创建第一个Android应用,重点介绍Android Studio目录结构。...欢迎页面点击New Project按钮。 进入下一个界面之后选中Basic Activity 按钮,创建一个基本视图Android应用。...设置好模拟器之后,如果只需要运行项目的话则点击下图左边按钮,如果要对代码进行调试(debug模式)的话则需要点击下图右边按钮。...这里其实还涉及到FirstFragmentSecondFragment两个Fragment。它们两个是用来控制图7中点击按钮。...Android Studio调试 学会用Android Studio进行代码调试是开发者必备技能。 设置断点 双击需要添加断点代码行左侧。出现如下红点说明断点设置成功。

61100

【Android】属性动画使用理解

但其实,对于新手来说,知道怎么做把它做出来其实还是两码事。题主也还是个初学者,当初也是觉得这很简单啊,然后自己做时候却出现了各种问题。下面就来讲讲题主做过程中碰到一些问题吧。...1、平移距离如何确定? 先来看那个竖直收缩/扩展效果,每个控件都平移到最底下控件位置,然后消失。有时候我们需求就是这样,不要求将控件全部移出屏幕,只移到某个指定位置,然后消失之类。...发现有效果了,往下平移了 然后再点击按钮本身发现又没任何效果了。但是再点击FAB时,按钮又往上平移了!发现没有,当按钮处于最底时,点击FAB会将按钮返回到第2个步骤了。...然后再点击按钮本身时,代码意思是将控件从当前位置平移到距离最初位置300地方,但此时控件位置并不是最初位置,而是已经经过一次平移,处于距离最初位置200地方,当前控件要平移到300地方,只需要再平移...这里就稍微提一下,如果你突然忘记某个动画单词该怎么拼,或者不知道它支不支持使用这个方法,可以利用AS查看源码方式到View里面去查找一下setXXX()getXXX()方法,如果有,则支持。

1.1K30

【Spring】1. Maven项目管理

基于项目对象模型(POM)概念,Maven可以从一个中心信息片段管理项目的构建、报告和文档 Maven 是⼀个项目管理工具, 通过 pom.xml文件配置获取 jar包,而不用手动去添加 jar...比如 A 依赖 B, B依赖C, 那么 A项目引入 B 同时, 也需要引入C, 如果我们手动管理这个依赖, 这个过程就会比较麻烦, 我们需要知道每个库都依赖哪些库, 以及这些依赖之间版本是如何关联...Maven 仓库 通过几行代码就可以把需要 jar包放进项目中,是如何做到呢?...当我们pom.xml文件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库里寻找 jar包, 并把他下载下来, 添加到项目中. 这个jar包下载地方就称为仓库...., 两个路径不要有中⽂ 配置国内源 Maven 仓库默认是在国外官网, 国内使用时会比较慢,我们可以更换为阿里云仓库 打开settings.xml, mirrors 节点上,添加内容如下:

12010

搭建安卓开发环境(Android Studio)

res 这个目录下内容比较多,包括项目中用到图片,布局,字符串,颜色等,其中图片放在drawable目录下,布局文件放在layout下,字符串都放在values目录下,values目录下有strings.xml...了解安卓程序 还记得之前我们AndroidManifest.xml中注册主Activity吗?...至此,我们已经搭建完安卓开发环境,并且基本了解了一个安卓程序结构。 重要东西:Log Log,Log,Log重要东西说三遍,现在来看看如何在安卓程序中添加Log。...细心童鞋可能已经看到了,这个窗口上有几个按钮: 可以试着切换一下log level,或者查找一下我们刚才打的log。...总结 Android程序不推荐程序中对字符串进行硬编码,而是把字符串定义一个XML文件中。 XML中可以通过@string/hello_world获得这个字符串引用。

2K70

MaterialDesign之FloatingActionButton

相信很多小伙伴实际开发中都有这样需求,一个列表滚动到某一位置,然后有一个按钮,回到顶部?很常见一个效果,以前我们一般都使用一个图片,放到那里。...并且对于图标进行使用materialDesign图标,大小24dp为最佳! 2. FloatingActionButton属性说明及简单应用 先来一张效果图 ?...如果不设置0dp,那么4.1sdk上FAB会显示为正方形,而且5.0以后sdk没有阴影效果。...FloatingActionButton实现一些相应效果。 关于FloatingActionButton目中使用,基本上就有以下这么多东西,这些都是我能想到。...之前版本中使用,如果在之后版本中使用的话,一般隐藏了之后就不会出现了!!!)

65530

.NET Standard中配置TargetFrameworks输出多版本类库

PBn项目分别执行下面操作:【添加】--【现有】--【添加为链接方式】,将PA项目代码文件添加到各自项目中,如果代码不同,则需要使用#if #else #endif 等标签来判断 .NET Framework...7、配置多目标框架 关于如何指定多目标框架,请参考博客《.NET Standard SDK 样式项目中目标框架》 我做BIMFACE二次开发接口目标是支持 .NET Framework4.0...一、条件编译 在下图中可以看出,编译成功后,项目的默认位置 bin\Debug 下生成了3个不同目录,分别对应3个目标版本。 ? 这是VS中默认编译输出目录。...如果需要配置不同类库输出到不同位置,也可以自定义配置输出路径实现。 查看项目属性,【生成】-->“输出”-->“输出路径”中输入自定义目录或者点击【浏览】按钮选择一个目录。 ? 填写后,保存项目。...四、XML文档输出 选择项目,点击 属性-->生成,勾选 “XML 文档文件”。默认生成xml文件名称包含绝对路径,这个名称不是很友好,一般修改为程序集名称即可 ? 点击菜单栏上【保存】按钮

2.8K21

写给初学者Jetpack Compose教程,Lazy Layout

就好像使用RecyclerView时常常会用到onBindViewHolder()所携带position参数一样。 那么如何才能知道每行所对应下标是什么呢?...因此最好设计方案就是,当用户向下滚动列表时,我们就认为用户不再需要和Fab按钮交互,此时将按钮进行隐藏。 下面具体看一下如何在Compose中实现这种效果。...其中AddButton()函数就是用于定义Fab按钮,我们将它放置了屏幕右下角,并且它显示状态是受到isVisible这个参数控制。...现在可以运行一下程序看看效果了: 正如我们所期待那样,当A元素屏幕上可见时候,Fab按钮也是可见。当A元素滑出了屏幕,Fab按钮也会随之消失。...接下来LazyColumn当中,我们使用item函数将ImageHeader()ImageFooter()分别引入到了头部尾部,而主间则是使用items函数添加列表型数据。

34810
领券