在项目开发中,弹幕是一种非常流行的效果,它能够在屏幕上动态显示大量的文本信息,如评论、消息等。开始调研了一些知名的三方弹幕库,功能很强大,但是却不适合,因为项目中只需要一个简单的弹幕效果即可,这些库有点过重了,甚至有些库还要集成so,因为需要严格要求包体积大小,所以更难以集成了。之前做过图片瀑布流,突然想到能不能用类似的方案实现一个简单的弹幕效果。本文将介绍一种使用RecyclerView和StaggeredGridLayoutManager实现简单弹幕效果的方法。通过这种方式,可以实现弹幕的无限滚动和多行显示。
在项目中,我们常常遇到需要动态调整 ViewPager 的高度,以适应其内容大小的需求。默认情况下,ViewPager 的高度是固定的,无法根据每个页面的内容高度进行调整。这会导致在内容高度不一致时,出现不必要的空白区域或者内容被裁剪的情况。为了解决这个问题,我们设计了一个 AutoHeightViewPager,能够根据当前显示页面的内容高度动态调整自身的高度,保证内容完整且没有多余的空白。
Android 官方的最新架构中引入了 Domain (网域层 or 领域层),Domain Layer 由一个个 UseCase 组成。但是由于团队套用官方新架构后没有正确地定义 UseCase,无法发挥 Domain Layer 应有的架构价值。
在Android发展的进程中,网格布局一直比较有热度,其中一个原因是对用户来说便捷操作,对app厂商而言也会带来很多的曝光量,对于很多头部app,展示网格菜单几乎是必选项。实现网格的方式有很多种,比如GridView、GridLayout,TableLayout等,实际上,由于RecyclerView的灵活性和可扩展性很高,这些View基本没必要去学了,为什么这样说呢?主要原因是基于RecyclerView可以实现很多布局效果,传统的很多Layout都可以通过RecyclerView去实现,比如ViewPager、SlideTabLayout、DrawerLayout、ListView等,甚至连九宫格解锁效果也可以实现。