![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
chen_qing_zhen
这个作者很懒,什么都没留下…
展开
-
OkHttp 根据服务器返回的的过期时间设置缓存
方法判断是否需要缓存响应。如果需要缓存,我们根据服务器返回的缓存时间构建新的响应,并设置对应的。据返回的缓存时间来缓存响应,可以通过使用OkHttp的。该拦截器会在每次网络请求返回响应后进行处理。在上述示例中,我们创建了一个自定义的。在拦截器中,我们从服务器的响应中获取。头部,然后返回新的响应。拦截器,并将其添加到。原创 2023-09-16 15:54:32 · 453 阅读 · 0 评论 -
Kotlin Flow 转换以及上下游处理
1、下面代码展示了upStreamFlow作为上游,downStreamFlow作为下游,通过对upStreamFlow使用map操作符函数将upStreamFlow转换为新的Flow对象,每个元素都通过lambda表达式进行处理,并生成以“Number:”为开头的字符串。本片文章主要介绍Flow上下游处理,上游一个Flow使用map,上游两个Flow使用zip,上游三个Flow及以上使用combine。3、上游有三个Flow或以上的时候可以使用combine操作符函数,将三个Flow合并为一个Flow。原创 2023-08-26 11:21:24 · 741 阅读 · 0 评论 -
优雅实现列表刷新
1、通过使用AsyncListDiffer类来达到只需要替换集合,不需要具体控制刷新的项2、当一个Item内容改变时,需要新建一个对象,这样才能避免因对象地址一致导致Adapter无法判断内容更改。3、当一个Item内容改变时,通过遍历集合替换改变的Item,使用ListIterator.set()更优雅。4、局部刷新可以通过实现onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position, @NonNull Lis原创 2020-11-29 22:15:28 · 458 阅读 · 0 评论 -
约束布局 ConstraintLayout 的使用
优点:是可以减少布局嵌套,弥补四大布局比较不好实现的地方,良好支持拖拽,良好支持UI可视化编辑。缺点:ConstraintLayout作为ListView的Item根布局时设置Item元素可见性,不会触发onLayout,位置不更新。与传统列表结合使用,要慎重考虑。本文以代码结合可视化UI编辑方式说明原创 2020-05-03 10:11:11 · 1699 阅读 · 0 评论 -
解决列表 (ListView GrifView RecyclerView )结合CheckBox实现列表选择的的问题
原创文章不得转载 实现思路:由于列表类都是需要重复使用Item布局,所以这里不要监听CheckBox的CheckChange事件,不然问题会变得很复杂。只需要监听列表的单击时间,把点击事件绕过CheckBox传递到Item,步骤1、2的设置就是起到这种效果。CheckBox只是起到显示的作用,它的Check改变监听事件这里不会用到。接着通过监听Item的单击事件设置CheckBox是否选原创 2016-04-18 14:18:20 · 1558 阅读 · 1 评论 -
Android 实现分割线的几种方式
最近项目的UI除了图标是美工做的,其他的都要自己代码实现。所以导致最近创建的drawable资源(selector、layer-list、shape等等)文件特别多。在这里总结几种实现分割线的方式:1、使用layer-list实现:(1)顶部黑色分割线、白色背景 (2)左边上边右边黑色分割线、白色背景 layer-list使用总结:没原创 2017-12-03 22:34:43 · 11176 阅读 · 1 评论