<br> <p> 由于手机屏幕大小的限制,各种控件需要根据需求进行显示,隐藏,移动等,以增加视觉效果,用户体验。就拿目前市场上常见的APP如知乎、QQ、淘宝、美团等来说,在他们的APP里面随处可见一些比较优美的处理方案。本文主要将一些常见的需要对控件进行显示、隐藏、渐变的场景进行整理了一番。如:点击屏幕Toolbar,bottom的显示隐藏;滑动Scrollview/【【微信】】/【【微信】】显示隐藏,透明度渐变;Fab悬浮按钮滑动缩放显示隐藏(是通过自定义Behavior实现)文章原创,转载请注明地址:小嵩的CSDN博客,地址&#【【网址】】/qq_【【QQ微信】】。</p> <p> 由于实现方案比较多,加上篇幅问题。这篇文章重点写了知乎效果的代码,淘宝/QQ空间标题渐变效果的另外写了一篇,地址:精仿淘宝标题栏透明度渐变效果。仿美团的效果demo还在完善,持续更新中,欢迎讨论交流~</p> <p><strong>1.知乎的标题栏和底部栏显示隐藏:</strong></p> <p><strong>2.淘宝、QQ空间标题栏渐变:</strong></p> <p><strong>3.美团网,大众点评顶部悬浮:</strong></p> <p>效果演示完了,那么接下来开始分析,讨论实现思路。</p> <p><strong>第1种-知乎首页的效果</strong></p> <p>实现方案比较多,这里就讲主要的三种思路:</p> <p> 一、通过监听Srcollview/【【微信】】等控件的滑动,获取Y轴的移动距离,然后判断是上滑还是下滑,对Header 和Footer进行设置显隐动画。 二、同样是通过监听控件的滑动事件,获取Y轴的移动距离,但在监听回调方法中,则是通过View.【【微信】】()方法动态设置Header和Footer的移动距离,并且添加一个Header和Footer移动距离的阀值,最大移动距离为不可见为止。 三、通过Behavior 进行嵌套滑动来设置Header 和Footer的显示与隐藏,可用系统预设的,也可自定义,自定义的Behavior文章末尾有demo代码,可自行下载参考。关于Behavior,不了解的话可以搜一下相关方面的知识补习一下推荐链接&#【【网址】】/android-blogs/p/5867398.html,目前推荐使用这种方案,但某些场景可能用Behavior不方便实现,如涉及到Headview+【【微信】】+Fragment切换时,可参考我另一篇文章&#【【网址】】/qq_【【QQ微信】】/【【微信】】tails/52131428</p> <p> 授人予鱼不如授人以渔,思路理解了之后其实代码也很简单,前面两种方案无非就是通过监听屏幕或者控件滑动事件来对View进行处理,而Behavior也是因为基于开发中经常需要处理各种控件的协调,Google才推出了这个协调布局的方案。</p> <p><strong>第2种-淘宝/QQ空间的效果</strong></p> <p> 即头部渐变的实现方案,其实原理是一样的。两者区别只是一个是平移,一个是透明度变化。平移是通过View.【【微信】】()或者设置平移动画的方法。渐变则是通过 View.【【微信】】lpha)或者设置alpha动画的方法。【【微信】】lpha)这个透明度的alpha值,可以是(头部已滑动距离)/(头部总高度)的百分比,也可以自己根据业务需求改成其他的,百分比计算的参考代码如下:</p> <p>我单独写了篇文章,仿淘宝的效果,有兴趣的话可移步到此处查看详情&#【【网址】】/qq_【【QQ微信】】/【【微信】】tails/54602925</p> <p><strong>第3种-美团/大众点评的效果,有两种实现思路:</strong></p> <p> 第一种是:通过两套布局,一套固定在头部,一套嵌套在Scrollview里面,当滑动到需要悬浮的地方时,通过addview 的方式将需要悬浮的控件添加到固定在头部的容器里面。具体实现代码可参考这篇博客【【网址】】/xiaanming/【【微信】】tails/17761431</p> <p>这里我就把思路说一下,看图:</p> <p> 第二种是:Headview+Scrollview 的布局,监听Scrollview的滑动,然后用接口回调,在Activity中对Headview设置View.【【微信】】(dy)方法,当滑动到需要悬浮的地方时,即达到阀值时,不再对Headview进行平移。</p> <p>上滑的时候: </p> <p>下滑时:</p> <p>┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈分隔线◆┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈┈◆┈┈┈┈┈┈┈┈</p> <p> 思路讲解完了,没代码说个egg,so…我整合了一下,写了个demo,是关于知乎首页标题栏,底部,Fab显示隐藏的,提供了:屏幕点击、webview、【【微信】】、recyclerview、MD 包自带【【微信】】,自定义【【微信】】的实现方案,可自行下载查看。</p> <p> <strong>文章就通过ScrollView的代码,演示一下知乎首页的大致实现步骤,后面两种效果可根据思路实现,操作起来也不难(文章底部有demo下载链接)</strong>:</p> <p><strong>Step one</strong> <strong>自定义ScrollView,在 【【微信】】 中添加接口的【【微信】】方法对其监听:</strong></p> <p><strong>Step two</strong> XML布局中引用自定义的ScrollView :</p> <p><strong>【【微信】】:</strong> 在Activity中初始化ScrollView,并实现接口回调方法:</p> <p> 其中HideAnimationUtils是我封装的动画工具类,由于动画效果是统一的,在各个Activity中调用,能减少代码冗余,可自行根据需求更改或舍弃。</p> <p><strong>大功告成,效果如下:</strong></p> <p><strong>点击屏幕显示隐藏效果:</strong></p> <p><strong>自定义Behavior,实现滑动时fab悬浮按钮缩放的效果:</strong></p> <p>GitHub地址:仿知乎首页标题显示隐藏demo GitHub地址:TitlebarGradient-淘宝购物详情页标题栏渐变 </p> <br>..天猫 618 互助微信群2023,天猫 618 互助微信群2023,天猫喵币互助有几次机会,不会进群的,点赞加评论。我拉你。天猫618 狂欢节天猫互点群二维码怎么生成2023年 618淘宝购物狂欢节天猫 618 互助微信群2023。
本文地址:
/show-98392.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。




