![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
有点小懒啊啊
这个作者很懒,什么都没留下…
展开
-
MotionLayout实现Android控制中心动画效果
前言最近了解到ConstraintLayout库升级到了2.0.0,而且其中的MotionLayout非常的好用,可以实现各种好看的动画,本着学习的目的,使用MotionLayout来实现一次Android控制中心的动画效果。效果如下:开始导入依赖由于MotionLayout是2.0.0开始出现的,因此需要将依赖的版本升至2.0.0以上,这里使用当前最新版本2.0.4。implementation 'androidx.constraintlayout:constraintlayout:2.0原创 2020-12-14 16:46:04 · 649 阅读 · 0 评论 -
Android自定义ViewGroup——ExpansionPanel
前言最近在开发中需要实现一个伸缩效果,就像Flutter中的ExpansionPanel控件一样,效果如下图,发现Android中竟然没有类似的控件,网上也有较多的实现,效果不太理想,因此决定自己实现一个。思路为了方便可伸缩内容的拓展以及达到图中的效果,我选择直接继承于CardView来实现,这样比较方便,不需要自己实现测量等方法。在CardView内部填充一个ConstraintLayout(减少布局嵌套层数)作为根布局,使其他控件在根布局的特点位置进行摆放,最后利用动画效果实现伸缩。从效果图中可原创 2020-11-26 16:42:26 · 217 阅读 · 0 评论 -
Android Gradle 配置打包信息
前言在Android应用开发完成准备上线时,就会将代码打包成apk文件,此时就需要将测试环境切换为正式环境,一些简单的项目就只是简单的替换服务器地址和更改apk文件名而已,但是随着项目需要配置的东西越多,每次打包前都需要逐项修改配置文件,不仅十分繁琐而且稍有不慎忘记修改,将会酿成大错。因此,使用Gradle打包就可以完全自动修改,简直爽得不要不要的。开始先来看看Android项目中Gradle文件结构。...原创 2020-10-29 14:26:11 · 396 阅读 · 0 评论 -
Android自定义Behavior——知乎主页效果
前言在使用CoordinatorLayout的时候,通常会在子空间中添加layout_behavior来达到某种效果。例如在该布局下使用RecyclerView时,需要在布局文件中添加app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"实现RecyclerView始终处于Toolbar底部。原始布局先仿照知乎首页界面实现,该界面顶部为Toolbar,中间为Recycl原创 2020-09-08 17:44:00 · 845 阅读 · 0 评论 -
RecyclerView好帮手——DiffUtil使用总结
前言在使用RecycerView时,数据集合发生变化后,刷新视图最简单粗暴的方式就是调用 adapter.notifyDataSetChanged() 进行全局刷新,稍微优雅一点的方式会使用 adapter.notifyItemInserted() 或者 adapter.notifyItemRemoved()实现元素的插入以及删除的视图刷新。与全局刷新相比,这种方式不仅有过渡动画而且效率更高。但是随着数据集合中的元素变多,元素的插入删除操作变多,手动实现变得不太理智,因此,DiffUtil的作用就显现出原创 2020-08-14 12:04:18 · 1853 阅读 · 0 评论 -
自定义View——横向柱状图
前言最近在项目中需要实现一个简单的横向柱状图(如下图),需要实现在左边名字之后显示对应进度,同时进度之后需要跟上当前进度的内容。由于太菜找不到好的实现方法,于是决定使用自定义View实现。实现ps:这里我采取了一个偷懒的办法,只实现单个数据的柱状图,然后结合RecyclerView展示多个数据,同时还支持滑动,方便了不少。单个柱状图比较简单,从左到右依次绘制标题、灰色条、进度条...原创 2020-03-14 12:20:59 · 340 阅读 · 0 评论