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

Android Notes|BottomNavigationView 爱上 Lottie

以前大部分项目底部导航栏关于图片部分的实现,要么两套图 selector 切换,要么通过着色器 tint 进行渲染,总之最后呈现的效果便是点击两张图静态切换,说 Low 吧,也还凑合,但是总是没那么高大上...项目重构,韩总说了,之前的方式呈现的效果太 Low 了,这次重构要求底部要动。(内心默默来句,你咋不上天。) 先来看个两者间对比效果吧~ 效果对比 原有两张静态图切换: ? 小动画浪起来: ?...而关于选中状态切换,对应标题字体大小发生改变以及导航栏高度,都可以通过 dimens 定义如下解决: @dimen/sp...apply { playAnimation() } // 这里判断如果当前点击的和上一次点击索引不同,则将上一次点击索引位置的 MenuItem Icon 替换

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

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

它更注重功能,增加参与度,并可视化地锚定UI。 先来一个什么鬼样式都没有的: <?xml version="1.0" encoding="utf-8"?...如果FabAttached设置为True,那么Fab将被布置为连接到BottomAppBar; FabCradleMargin是设置FAB和BottomAppBar之间的间距,改变这个值会增加或减少...当项目有3到5个顶层(底部)目的地导航到时,可以使用此模式。...使用也是很Easy,如下: 创建一个菜单资源 ,最多5个导航目标(BottomNavigationView不支持超过5个项目); 在内容下面放置BottomNavigationView; 将BottomNavigationView...那下面按照步骤操作一次: Step 1:布局中添加BottomNavigationView: <com.google.android.material.bottomnavigation.BottomNavigationView

3K20

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

相信你很多的博客上或者自己的项目上看过或者使用过。而现在可以通过另一个更简洁的方式,那就是Activity+ Navigation + Fragment。...添加好之后,点击Sync进行项目同步,同步时会自动下载这些依赖库并配置到你的项目中。...NavController:得知切换目标,控制NavHost去显示B这个Fragment。 这么一说,你是否有一些理解了呢? 2....好了,下面可以打开这个nav_graph.xml进行Fragment的添加,navigation标签下增加对AFragment的添加。 <!...那么这些工作就都是BottomNavigationView帮我们完成的,的确是省了不少事情,当然这个动画效果和点击之后的颜色都是可以让开发者自行改的。

9.3K42

Android开发之漫漫长途 XIII——Fragment最佳实践

--关于底层布局我这里使用了Github上的开源项目--> <com.luseen.luseenbottomnavigation.BottomNavigation.BottomNavigationView...作为演示使用,可以看到布局内容都非常简单,我这里只给出其中一个Fragment的创建过程和源码,项目完整源码可见文末的源码地址。...(bottomNavigationItem4); //为底部导航布局设置点击事件 bottomNavigationView.setOnBottomNavigationItemClickListener...这是因为replace操作,每次都会把container中的现有的fragment实例清空,然后再把指定的fragment添加进去,就就造成了切换到以前的fragment,就会重新实例会fragment...,Fragment只实例一次,少了销毁又重新创建等带来的性能消耗,另我们想要在Fragment中更新数据,我们可以自定义Fragment中重写其onHiddenChanged方法 @Override

1.2K20

导航: 多返回栈 | MAD Skills

如果您更倾向于视频的形式,请 点击这里 查看视频内容。 概述 假设您的应用使用了 BottomNavigationView。...通过这个功能,当用户选择另一个标签页 (Tab) ,当前标签页的返回栈会被保存,而所选标签页的返回栈会被恢复。...为了导航的早期版本中支持多返回栈,我们需要在该示例的 NavigationExtensions 文件中添加一系列辅助函数。...如果您的应用使用 BottomNavigationView 或 NavigationView,并且您一直等待支持多返回栈,您所需要做的仅仅是更新 navigation 和 fragment 依赖库,不需要改变任何代码...欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!

80320

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

设计思路 既然玩那就干脆玩花一点,一步到位给中间按钮加了个简单的点击动画,点击后FAB垂直方向上执行一次往返位移,同时底部导航栏上的凹槽大小跟随着FAB的凹陷深度动态变化,需要实现的功能点以及思路大体是下面的几个...文件中将中间item的图标和文字都去掉,并将enabled设成false,禁用点击事件即可: //bottom_nav_menu.xml <?...对于这样的效果我决定老老实实选择自定义BottomNavigationView,为所欲为哈哈哈!...假设按钮垂直方向上的当前位移距离大小为d,当按钮向上运动导航栏上的凹槽应该往中间收缩,收缩过程中保持两旁小圆半径大小和30°夹角不变,这时另中间圆的圆心同步垂直方向上移动-d,动态修改distance...的值,由此一来可以达到凹槽收缩的效果,按钮向下运动同理: 另外还需要考虑按钮完全位于导航栏上方的情况,这种情况下直接使用直线来代替原来的曲线部分。

12110

深入浅出 NavigationUI | MAD Skills

这是第二个关于导航 (Navigation) 的 MAD Skills 系列,如果您想回顾过去发布的内容,请参考下面链接查看: 导航组件概览 导航到对话框 应用中导航使用 SafeArgs 使用深层链接导航...概述 之前的 导航系列文章中,Chet 开发了一个用于 跟踪甜甜圈的应用。知道什么是甜甜圈的最佳搭档吗?(难道是另一个甜甜圈?) 当然是咖啡!所以我准备增加一个追踪咖啡的功能。...我需要在应用中增加一些页面,所以有必要使用抽屉式导航栏或者底部标签栏来辅助用户导航。但是我们该如何使用这些 UI 组件来集成导航功能呢?通过点击监听器手动触发导航动作吗? 不需要!无需任何监听器。...比如,当您在最顶层的目的页面,就不会显示回退按钮,因为没有更高层级的页面。 默认情况下,您应用的最初页面是唯一的最顶层目的页面,但是您也可以定义多个最顶层目的页面。...,NavigationView 会代替 BottomNavigationView 显示屏幕上。

3K30

ASM字节码插桩

以往手动形式埋点 以往的埋点方式都是人为进行定义名称和选择性埋点,版本迭代多次后造成埋点数量持续增加。...思考应该在哪个页面进行埋点 * 可配置化,可以选择过滤上报页面,事件,或者特定页面增加属性上报 * 版本迭代不需要重新进行埋点 如何进行?...应用点击控件 ------ 方案1:hook控件的点击事件接口进行代理 整体思路:根据ActivityLifecycleCallbacks接口监听回调,onActivityResume回调中拿到当前的...同时Activity启动的时候进行ViewTree的observer,ViewTree改动的时候(比如设置了view的不可见不可点击等)重新进行一遍hook。...使用AspectJ, 思路:程序编译期间,相应的onClick方法调用前或后插入埋点代码。

95950

Android底部导航栏的三种风格实现

xml 中使用 <android.support.design.widget.BottomNavigationView android:id="@+id/navigation" android... Activity 中调用 private TextView mTextMessage; private BottomNavigationView.OnNavigationItemSelectedListener...目前我还没有项目中实际使用过,这里不做过多分析,使用起来不难,以上代码已经足以满足我们的基本使用要求了。...四、带页面跳转功能的底部导航 很多 APP 的底部导航栏中间有一个很大的按钮,点击后通常是打开一个新的页面,这里我们要实现的就是这种底部导航。...}); } } 注意: 如果这里你也想使用 ViewPager 来展示 Fragment 的话,一定要注意这里的 RadioGroup 中间有一个占位的 View,即两者的监听事件里,实现联动要考虑多个这个

3K30

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

那么我们想增加导航或者改变图标文字应该怎么办呢?...android:id="@+id/test" android:title="test" android:icon="@drawable/compass"/> title属性是点击后下面出现的文字...那么如何更改点击后的页面呢? 自定义切换页面(Fragment) 这里我们使用framgment来切换页面。...还是先看一下效果,一个button和一个textview,点击button显示现在的时间: 文件结构 之前版本创建后只有一个java文件,现在是有多个文件: dashboard,home,notifications...fragment用来显示ui界面,而viewmodel则是给ui界面提供数据,view里的每一个控件viewmodel里都有一个对应的数据对象,如果要更新view上的ui界面,只需要更新viewmodel

2.1K10

Material Design Android 中的应用

整体结构: 什么是 Material Design Material Desing的特点 从四个特点结合Android的应用剖析 我的公司「口袋」项目中的应用 当然内容需要看官方的文档和其他资料加上总结才能完成...分享能将每个知识点都有个透彻而又完整的分析,不要追求速度。实话说这次分享确实给我带了不少的收获,相信在下次分享中能够有一个满意的表现。...越读越能感受到它的妙处,假如你能严格按照它的规范进行开发项目,哪怕你不是专业的UI设计师,相信你的产品一定会不难看的。 那接下来就主要介绍一下Material DesingAndroid中应用。。...8、转场动画 交互有了,现在看是添加点击跳转效果了。咱们之前跳转动画都是startActivity之后调用overridePendingTransition方法,传入进入和退出的动画实现跳转动画。...Material Design 「口袋」中的应用 其实在咱们的「口袋贵金属」项目中也到找到很多MD的元素。 首先是点击的水波纹效果: ? 其次是交易圈的滑动交互: ?

1.2K20

1. Jetpack源码解析---看完你就知道Navigation是什么了?

基本使用 虽然之前的文章中已经很详细的介绍了Navigation,但是这里也简单的叙述一下我项目中的具体使用: 2.1 Navigation+DrawerLayout+ToolBar 我们可以通过使用...2.2 BottomNavigationView使用 2.2.1 配置文件 和上面的步骤类似:也是配置好 navigation.xml布局以及 BottomNavigationView所对应的menu...notificationManager.notify(0, builder.build()) 我们可以创建一个DeepLink,带上参数,通过Notification通知来测试这样的效果,可以直接跳到项目中的该页面...我们一般手动切换Fragment可以调用这个方法,最后就是跟踪到这里。...这样就将组件的状态切换绑定起来了,当fragment切换,上面提到的接口分发,去切换布局按钮等状态。

2.5K30

Mac文件对比软件Beyond Compare 4

,它不再像原来的那样工作·升级版Dropbox支持使用v2 API; v4.1.9及更早版本的Dropbox支持将于2017年6月停止工作·增加了.lzma和.tar.lzma / .tlz存档的支持,...并改进了RAR支持·macOS 10.12上固定滚动行为Sierra和固定的Cmd + W / Esc文本编辑器中插入字符而不是关闭视图·改进了高DPI显示器上的各种图形,并更新了许多图标档案·增加了对...·文件夹最后修改时间不再报告·现在支持超过2000个项目的文件夹列表·固定支持美国东部2(美国东俄亥俄州),ca-central-1(加拿大中部),欧盟西部2(欧盟伦敦)和ap-south-1(亚太孟买...,并添加“增加显示字体大小”,“减小显示字体大小”和“重置显示字体大小”命令·增加“另存为”对话框中添加/删除Unicode字节顺序标记的支持·使用键盘快捷键(Esc,Cmd + W等)修正新打开的视图插入字符...·固定的编辑器切换选项卡后的慢速保存期间不重画·MP3,注册表和版本比较会话中的水平滚动期间固定项目的灰色绘画文件夹比较·删除“二进制比较期间绕过磁盘缓存”选项;由于硬件,操作系统和驱动程序的变化,

1.9K50
领券