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

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

: 导航栏与页面跳转:使用谷歌官方提供的现成组件BottomNavigationView+Navigation组件+Fragment的方式来实现; FAB停靠导航栏:利用协调者布局CoordinatorLayout...(主要涉及:BottomNavigationView Navigation Fragment Canvas Path Animation CoordinatorLayout) 实现过程 导航栏与页面跳转...考虑到这个按钮需要显示在其他控件的最上层,而且需要以导航栏为参照物来确定位置,利用CoordinatorLayout的特性正好可以很方便地实现,于是将整个Activity的布局文件修改如下: //activity_main.xml...对于这样的效果我决定老老实实选择自定义BottomNavigationView,为所欲为哈哈哈!...的值,由此一来可以达到凹槽收缩的效果,按钮向下运动时同理: 另外还需要考虑按钮完全位于导航栏上方时的情况,这种情况下直接使用直线来代替原来的曲线部分。

26510

Mac 热键大全

屏幕捕捉快捷键 动作……………………….保存到…………-快捷键 全屏捕捉……………………桌面(.PDF文件)……Command + Shift + 3   (win+shift+3) 屏幕部分画面………...空格 全屏捕捉……………………剪贴板…………..Ctrl + Command + Shift + 3 屏幕部分画面………………..剪贴板………….....………………………………上方向键 输入光标移动到行末………………………………下方向键 全键盘操作 打开完全键盘操作………………………………..Ctrl + F1 任意控制对话框及窗口…………………………...3.按住“Optionion”+鼠标拖图像或文件夹可以将图像或文件夹拷贝到其它文件夹中,而不是移动;  4.在拖曳图像或文件夹时将图像或文件夹拖至窗口上端的菜单栏可以取消对它的移动或拷贝; 5.按住“...使用文件对话框时的巧妙使用: 1.打开对话框时(如使用“文件”菜单下的“打开”或“存储”等命令时同时)按“.”或按“esc”键可以取消该命令;  2.同时按“苹果键 + 方向上键”或点按桌面图像可以上移一层

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

    利用BottomNavigationView实现底部标签栏

    在Android Studio上创建官方默认的首屏标签页面很方便,首先右击需要添加标签栏的模块,在弹出的右键菜单中依次选择“New”——“Activity”——“Bottom Navigation Activity...在创建页面的“Activity Name”一栏填写新活动的名称,再单击页面右下角的Finish按钮,Android Studio就会自动创建该活动的Java代码及其布局文件。...不过为了定制页面的详细内容,开发者仍需修改相关代码,譬如将标签文字从英文改成中文,将频道上方的描述说明从英文改成中文,给频道页面添加图像视图等其他控件等等,故而还得梳理标签栏框架的实现方式。...首先查看标签页面的布局文件,它的关键代码如下所示:     BottomNavigationView        ...layout_constraintTop_toTopOf="parent"         app:navGraph="@navigation/mobile_navigation" /> 从布局内容可知,标签页面主要包含两个组成部分,一个是位于底部的BottomNavigationView

    2.2K30

    深入浅出 NavigationUI | MAD Skills

    在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类的 UI 组件如何在应用中实现导航功能。...△ 标题更新了并且也显示了返回按钮 底部标签栏 目前为止还算顺利,但是应用还不能导航到 coffeeList Fragment。接下来我们将解决这个问题。 我们从添加底部标签栏入手。...,并且将 bottom_nav_menu 设置为 BottomNavigationView的 menu 属性。...,这里调用 setupWithNavController() 函数将 navController 传入 BottomNavigationView。...和之前针对 BottomNavigationView 所做的相类似,这里创建一个新的方法,并且调用 setupWithNavController() 函数将 navController 传入 NavigationView

    3K30

    导航栏滚动吸顶并自动高亮和点击跳转锚点

    2021-01-16 07:37:33 在阿里云的云市场页面上有一个效果,就是api导航栏当滚动条滚动到其所在位置时,自动吸顶,当滚动到下方所在导航栏指定的介绍时,自动高亮其导航栏。...那么需要我们自己手动来实现以下,具体实现思路就是增加滚动条监听事件,当滚动到导航栏指定内容区域时,给其导航栏增加高亮样式,点击导航栏时,计算好滚动条的滚动距离,让其滚动过去即可。...,我们将这四个导航和内容渲染到页面上: function NavDemo(props){ const nav_content = useRef();//标识nav导航栏渲染内容 const...,并且给内容部分增加ref,便于后续获取其内容,导航栏也增加何时吸顶的标识以及导航栏高亮的标识,另外增加了一个class为zhanfIx的地址,因为当导航栏吸顶时,此处会因为空出位置,下面内容上移,而产生不和谐的效果...下面我们来看一下导航栏吸顶和滑动到指定位置导航栏高亮的逻辑。

    10.5K50

    Android开发笔记(一百六十四)仿京东首页的下拉刷新

    上一篇文章介绍了高仿京东的沉浸式状态栏,可是跟京东首页的头部轮播图相比,依然有三处缺憾: 1、京东的头部Banner上方,除了有悬浮着的状态栏,状态栏下面还有一行悬浮工具栏...所以此处得捕捉页面滚动到顶部的事件,相对应的则是页面滚动到底部的事件。鉴于App首页基本采用滚动视图ScrollView实现页面滚动功能,故而该问题就变成了如何监听该视图滚到顶部或者滚到底部。...getHeight() - getPaddingTop() - getPaddingBottom() == getChildAt(0).getHeight()) {             // 上拉滚动到底部...setScrollListener(ScrollListener listener) {         mScrollListener = listener;     }     // 定义一个滚动监听器,用于捕捉到达顶部和到达底部的事件...新的上层视图需要完成以下三项任务: 一、在下层视图的最前面自动添加一个下拉刷新头部,保证该下拉头部位于整个页面的最上方; 二、给前面自定义的滚动视图注册滚动监听器和触摸监听器,其中滚动监听器用于处理到达顶部

    2.9K40

    听说谷歌Baba更新了 Material UI ...

    Bottom Navigation BottomNavigationView创建底部导航栏,用户只需轻点一下即可轻松浏览和切换顶级内容视图。 ...使用也是很Easy,如下: 创建一个菜单资源 ,最多5个导航目标(BottomNavigationView不支持超过5个项目); 在内容下面放置BottomNavigationView; 将BottomNavigationView...那下面按照步骤操作一次: Step 1:在布局中添加BottomNavigationView: BottomNavigationView...下面着撸起实现: Step 1:搞个布局玩玩 外层使用CoordinatorLayout包裹,底部导航栏采用BottomNavigationView,中间内容区域,很Easy咯~ <?...如果已经在Activity使用CoordinatorLayout,添加底部表单很简单: 将任何视图添加为CoordinatorLayout的直接子视图。

    3K20

    Android开发笔记(一百六十九)利用BottomNavigationView实现底部标签栏

    在Android Studio上创建官方默认的首屏标签页面很方便,首先右击需要添加标签栏的模块,在弹出的右键菜单中依次选择“New”——“Activity”——“Bottom Navigation Activity...在创建页面的“Activity Name”一栏填写新活动的名称,再单击页面右下角的Finish按钮,Android Studio就会自动创建该活动的Java代码及其布局文件。...不过为了定制页面的详细内容,开发者仍需修改相关代码,譬如将标签文字从英文改成中文,将频道上方的描述说明从英文改成中文,给频道页面添加图像视图等其他控件等等,故而还得梳理标签栏框架的实现方式。...首先查看标签页面的布局文件,它的关键代码如下所示: BottomNavigationView...layout_constraintTop_toTopOf="parent" app:navGraph="@navigation/mobile_navigation" /> 从布局内容可知,标签页面主要包含两个组成部分,一个是位于底部的BottomNavigationView

    1.5K20

    Android学习(简单使用Bottom Navigation Activity来实现底部导航栏)

    下面我们就来看看如何使用Bottom Navigation Activity来完成简单的底部导航栏功能。...创建成功以后我们来运行一下,发现 已经基本实现了底部导航栏的功能了!但是还没有结束——我们还需要对导航栏进行修改定制,以符合我们自己的需要。...点击button显示现在的时间: 文件结构 之前版本创建后只有一个java文件,现在是有多个文件: dashboard,home,notifications这三个文件夹是对应的底部三个导航栏。...定制导航栏 对于导航栏的定制和之前大体相同,如果我们要新添一个自己的导航页可以这样操作:menu文件夹下的bottom_nav_menu.xml对应底部的导航图标,添加自己的item。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.5K10

    【CSS3】CSS3 3D 转换示例 - 3D 导航栏示例 ( 列表设置 | 透视视图 | 过渡动画 | 3D 呈现样式 | 鼠标移动到控件上方效果 | 设置两个子盒子模型的效果 )

    一、3D 导航栏示例 - 核心要点 1、需求分析 实现如下功能 : 正面 和 底部 各有一个 盒子模型 , 鼠标移动到 正面 盒子模型 后 , 整个 盒子模型 的 父容器 绕 X 轴 旋转 90 度 ,...preserve-3d; 上述代码 告诉 浏览器 子容器盒子模型 保留其的 3D 变换效果 , 即 子盒子模型 的 3D 效果 是 相对于它们自己的 3D 空间 , 而不是相对于父元素的平面 ; 鼠标移动到控件上方效果....box 类型 的 样式 , 如果将 鼠标移动到 盒子模型上方时 , 会显示 .box:hover 样式 ; 设置两个子盒子模型的效果 父容器中设置 相对定位 , 根据 子绝父相 原则 , 子盒子使用了绝对定位..., 父盒子就要使用相对定位 ; 第一个子容器 显示在正面 , 为了保证 X 轴是中心线 , 将正面盒子 沿着 Z 轴向 视点 移动 , 这样将整个 父盒子 进行 旋转时 , 旋转中心 恰好 是 中心位置...maximum-scale=1.0,minimum-scale=1.0"> 3D 导航栏示例

    21110

    MacBook Pro最全快捷键指南——高效型选手必备

    Fn–左箭头 Home:滚动到文稿开头 Fn–右箭头 End:滚动到文稿末尾。 Command–上箭头 将插入点移至文稿开头。 Command–下箭头 将插入点移至文稿末尾。...Option-Command-F 前往搜索栏。 Option-Command-T 显示或隐藏应用中的工具栏。 Option-Command-C拷贝样式:将所选项的格式设置拷贝到剪贴板。...Control-Command-T 将所选项添加到边栏 Option-Command-P 隐藏或显示“访达”窗口中的路径栏。 Option-Command-S 隐藏或显示“访达”窗口中的边栏。...Option-Command-T 在当前“访达”窗口中有单个标签页开着的状态下显示或隐藏工具栏。 Option-Command-V 移动:将剪贴板中的文件从原始位置移动到当前位置。...按住 Command 键拖移 将拖移的项目移到其他宗卷或位置。拖移项目时指针会随之变化。 按住 Option 键拖移 拷贝拖移的项目。拖移项目时指针会随之变化。

    6.7K40

    个人使用mac OS和win OS的差异

    Control-Command-T:将所选项添加到边栏(OS X Mavericks 或更高版本)。 Option-Command-P:隐藏或显示“访达”窗口中的路径栏。...Option-Command-V:将剪贴板中的文件从原始位置移动到当前位置。 Command-Y:使用“快速查看”预览所选文件。...按住 Command 键拖移到另一个宗卷:将拖移的项目移到另一个宗卷,而不是拷贝它。 按住 Option 键拖移:拷贝托移的项目。拖移项目时指针会发生变化。...Fn-左箭头:Home:滚动到文稿开头。 Fn-右箭头:End:滚动到文稿末尾。 Command-上箭头:将插入点移至文稿开头。 Command-下箭头:将插入点移至文稿末尾。...Control-L:将光标或所选内容置于可见区域中央。 Control-P:上移一行。 Control-N:下移一行。 Control-O:在插入点后新插入一行。

    2.6K20

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

    ,这样就把刚才的item都添加进去了 现在你通过预览已经可以看到这个底部导航栏了,不是吗?...可以看到,底部的导航栏已经出来了,而且还可以点击,点击之后还有动画效果,并且图标和文字的颜色还有变化,因为实际上我只是放了灰色图标而已。...底部导航栏控制Fragment切换 在上面已经添加了底部导航栏,但是这个导航栏还没有和NavHost绑定起来,所以自然就无法在切换底部导航的同时,改变NavHost中的Fragment。...navController = Navigation.findNavController(this, R.id.nav_host_fragment); //通过setupWithNavController将底部导航和导航控制器进行绑定...进入activity_mian.xml修改BottomNavigationView <!

    10.2K42

    mac全选文字的快捷键_MACBOOK最全快捷键指南

    Fn-左箭头Home:滚动到文稿开头 Fn-右箭头End:滚动到文稿末尾 Command-上箭头将插入点移至文稿开头。...Option- Command-F前往搜索栏。 Option- Command-T显示或隐藏应用中的工具栏。 Option- Command-C拷贝样式:将所选项的格式设置拷贝到剪贴板。...Control- Command-T将所选项添加到边栏。 Option- Command-P隐藏或显示“访达”窗口中的路径栏。 Option- Command-S隐藏或显示“访达”窗口中的边栏。...Option- Command-V移动:将剪贴板中的文件从原始位置移动到当前位置。 Option- Command-Y显示所选文件的快速查看幻灯片显示。...按住 Command键拖移将拖移的项目移到其他宗卷或位置。拖移项目时指针会随之变化。 按住 Option键拖移拷贝拖移的项目。拖移项目时指针会随之变化。

    2.3K10

    快速上手 Mac 电脑

    触摸板操作 打开系统偏好设置-触控板选项查看学习常用操作 双指触控实现鼠标右键功能 建议打开轻点来点按,和 win 操作相同 系统偏好设置-辅助功能-指针控制-触控板选项-启用拖移-三指拖移:单手三指拖移文件...合并两个全屏的应用:切换到桌面控制台,三指合并 合并同一桌面的应用:左上角绿色按钮长按分屏 快速切屏:command + tab、 截屏/录屏:command + shift + 5 应用快开 Mac 的底部导航栏由三条竖线隔开...command + t 切换标签页:control + tab 关闭当前标签页: command + w 切分窗口:command + d 清屏:command + k 清除命令行:command + u 光标移动到行开头...:control + a 光标移动到行结尾:control + e

    18210
    领券