<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wzchmm的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wzchmm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wzchmm]]></copyright><item><title><![CDATA[Android 自定义可滚动表格实现：基于 RecyclerView 的灵活方案]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/149429425</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/149429425</guid><author>wzchmm</author><pubDate>Thu, 17 Jul 2025 20:58:19 +0800</pubDate><description><![CDATA[本文介绍了一种基于 RecyclerView 的 Android 自定义表格实现方案，可解决原生控件难以支持的 “固定行列 + 滚动同步 + 灵活布局” 需求。

该方案通过多 RecyclerView 组合设计：纵向 RecyclerView 承载内容行，每行嵌套横向 RecyclerView 展示列数据，搭配独立表头 RecyclerView 实现结构分离；核心通过 PanelLineAdapter 监听并同步所有横向 RecyclerView 的滚动位置，确保表头与内容滚动时无错位；同时将数据与视图规]]></description><category></category></item><item><title><![CDATA[Android 自定义 View 实现汽车灯光距离调节动画]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/149359519</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/149359519</guid><author>wzchmm</author><pubDate>Tue, 15 Jul 2025 17:18:43 +0800</pubDate><description><![CDATA[本文介绍了汽车前灯光照距离调节效果的实现方法。通过自定义View完成光照区域绘制与动画过渡，核心包括：1) 使用Path构建扇形光照区域，结合顶点坐标动态调整范围；2) 采用LinearGradient模拟灯光衰减效果；3) 通过属性动画实现等级切换时的平滑过渡。最终实现5级光照距离调节，提供直观的视觉反馈效果。项目中优化了绘制性能，适用于汽车控制类交互场景。]]></description><category></category></item><item><title><![CDATA[Android音量均衡器实现：自定义垂直滑块与 EQ 调节方案]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/149329660</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/149329660</guid><author>wzchmm</author><pubDate>Mon, 14 Jul 2025 15:15:28 +0800</pubDate><description><![CDATA[本文介绍了Android垂直均衡器控件的设计与实现，主要包含以下内容：1) 需求分析：支持垂直滑动、±6dB调节、增益值显示和自定义样式；2) 实现思路：通过自定义View、Canvas绘制和触摸事件处理完成；3) 核心代码：包括属性定义、进度条绘制(使用Path.addRoundRect实现动态圆角)和触摸交互逻辑。重点解决了垂直滑动条、正负值区分显示和圆角衔接等关键问题，最终实现了一个专业美观的音频均衡器控件。]]></description><category></category></item><item><title><![CDATA[自定义 AqiColorView：优雅实现空气质量指数可视化展示]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/149269671</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/149269671</guid><author>wzchmm</author><pubDate>Fri, 11 Jul 2025 13:40:49 +0800</pubDate><description><![CDATA[本文介绍了在Android应用中实现类似iOS风格的多色AQI空气质量进度条的关键技术。通过自定义View实现了以下功能：1）支持6种颜色分段显示不同AQI等级（0-500）；2）采用LinearGradient生成平滑渐变色；3）通过Path绘制圆角矩形边框；4）动态计算指示圆点位置；5）支持单色/多色两种显示模式。重点优化了分段绘制算法和对象复用机制，确保性能高效。该组件可灵活配置颜色、圆角半径等参数，适用于空气质量展示等场景。]]></description><category></category></item><item><title><![CDATA[网络请求http和https]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/89343271</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/89343271</guid><author>wzchmm</author><pubDate>Tue, 07 May 2019 15:18:02 +0800</pubDate><description><![CDATA[okhttp原理
tcp 三次握手：
客户端发数据给服务器
服务器收到数据反馈到客户端表示收到
客户端收到客户端返回的数据，发送确认收到
tcp 四次挥手断开连接
在客户端给服务端发送了断开请求后， 客户端还可以继续给服务端发送请求，但服务端不再给客户端发送消息
socket 套接字是对tcp/ip协议的封装
URL url = new URL("http://www.baidu.com");
S...]]></description><category></category></item><item><title><![CDATA[HashMap原理]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/89322322</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/89322322</guid><author>wzchmm</author><pubDate>Tue, 16 Apr 2019 16:22:16 +0800</pubDate><description><![CDATA[HashMap 是数组+链表的组合结构
（图片结构）
1。计算key的hash值，根据hash值找到数组的位置（求模运算 hash % length, hash&amp;length - 1），链表中存储值

hash 的原理
java中任何对象都有hash值
位进行异或运算，相同为0，不同为1，
3.put 原理
key得到hash值，根据hash值，得到数组的下标index，找到对应的entr...]]></description><category></category></item><item><title><![CDATA[Rxjava2 线程切换，代替runOnUiThread和handler]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/84974863</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/84974863</guid><author>wzchmm</author><pubDate>Wed, 12 Dec 2018 16:18:40 +0800</pubDate><description><![CDATA[Rxjava2 线程切换，代替runOnUiThread和handler
rxjava的使用不在这里作更多的说明，已经有很多优秀的文章作了详细的使用说明，这里讲的是如何单拿出一个工具类来作为线程切换使用。
rxjava线程的调度需要用到ObserveOn和SubscribeOn，官方对于他们的定义是：
ObserveOn
specify the Scheduler on which an obse...]]></description><category></category></item><item><title><![CDATA[Glide4.*图片加载工具类]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/79879226</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/79879226</guid><author>wzchmm</author><pubDate>Tue, 10 Apr 2018 12:01:27 +0800</pubDate><description><![CDATA[glide3升级到glide4.*版本，使用上有一些变化，下面一个常用的简单加载图片工具类：



/**
 * 图片加载工具类
 * Created by Administrator on 2017/12/5 0005.
 */

public class ImageLoaderUtils {

    private static final String TAG = &quot;ImageLoader...]]></description><category></category></item><item><title><![CDATA[tablayout与scrollview的滑动联动效果实现]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/79865518</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/79865518</guid><author>wzchmm</author><pubDate>Mon, 09 Apr 2018 13:57:37 +0800</pubDate><description><![CDATA[*tablayout与scrollview的滑动联动效果实现 
     本次要实现的效果是点击标题栏tablayout的tab，下方的scrollview布局滚动到指定的位置，当下面的布局上滑到一定位置时，tab的文字颜色变化。效果图如下: 
      
    因为这里是用的模拟器进行的操作，所以效果上看起来有些卡顿。 
 1. 首先这里标题栏是使用的安卓原生的tablayout布局实现三个...]]></description><category></category></item><item><title><![CDATA[Android 4.4及以上版本写入外置SD卡问题]]></title><link>https://blog.youkuaiyun.com/wzchmm/article/details/72843868</link><guid>https://blog.youkuaiyun.com/wzchmm/article/details/72843868</guid><author>wzchmm</author><pubDate>Fri, 02 Jun 2017 14:13:59 +0800</pubDate><description><![CDATA[安卓获取外置SD卡路径，及写入文件到外置SD卡]]></description><category></category></item></channel></rss>