Android杂食店-一次MpAndroidChart美化过程
半年更系列回来了
MpAndroidChart的真好用
效果比较完全使用默认的配置进行展示,
默认效果
折线优化
四周优化
覆盖物优化
UI设计:源链接
可以看到相比于完全没有优化, 效果差的不是一点点
优化思路这里主要是ui优化, 除开整体元素设计来说, 页面风格适配就可以了. 不过我们可以将ui优化分为以下几个方向
上下这里需要一个下方的过渡效果即可
左右看起来没有需要优化的部分
中我们的折线图本体, 也是我们优化的重点
四周优化就如在优化思路中所说, ui优化需要适配这个页面的风格, 这里的四周(尤其是底部), 都是服务与想要表达的主体(折线图的), 实现起来页相对荣幸, 不需要考虑重叠动态计算相关位置的问题, 使用一个合适渐变就可以了.
折线图优化接下来是我们优化的重点部分, 也是我们页面信息显示的主题, 折线图.
Y轴从效果看来, Y轴对我们来说是一个多余的元素, 我们将其移除即可, 不过为了整体的效果, 还是需要进行一个相关的设置.
12345678YAxis yAxis = binding.lcReportInfo.getAxisLef ...
Remix教程(一)-Developer Blog(译)
最近又看到了一个前端项目Remix.run, 用起来感觉十分的舒服, 不过在使用的时候想查找一些资料却发现其在国内的资料寥寥无几, 也不成体系. 故考虑根据官方的教程进行初步的译制. 如发现任何问题, 欢迎沟通原文连接:https://remix.run/docs/en/v1/tutorials/blog相关其它Remix内容会继续跟进
Quickstart在这里, 我们将用简短的文件和代码进行介绍, 如果你想用15分钟了解Remix的全部内容, 这里是个不错的地方
💿 Hey I’m Derrick the Remix Compact Disc 👋 每当你应该做一些事情的时候, 你就会看到我
在这里我们使用了TypeScript, 但我们总是在完成了一些代码之后才确认方法.这不是我们的正常工作流程.为了不搞乱你们当中没有使用TypeScript那些人的代码.在开始的时候就确认了我们需要使用的代码(measure twice, cut once!)
创建项目💿 初始化一个新的Remix项目[^1]
1234npx create-remix@latest# 选择 Remix ...
hexo中butterfly主题busuanzi计数手动初始化
最近又又又又换博客的地址了, 主要是发现了新的好用的工具Vercel, 又更新了一些相关内容, 刚好又遇到了一些问题
问题博客还是使用hexo进行搭建, 这次没有继续使用next的主题, 而是用来butterfly, 在进行busuanzi网站访客数量的统计的时候又发现了之前的问题, busuanzi没有初始化的功能(好像好几年了已经), 之前使用next的时候是使用的swig进行配置, 不过找到了相关的文章进行了修改, 一直使用到了现在, 所以同样的问题又出现了
:+1:不想看解决的过程, 直接看解决方法
解决过程首先是在butterfly的github的进行了沟通, 虽然没有具体的解决思路, 不过也得到了思路
其实这个问题并不困难, 思路也比较简单, 获取到当前的计数, 加上初始化的数量可以
解决方法先修改_config.yml下的busuanzi配置
123456789# busuanzi count for PV / UV in site# 訪問人數busuanzi:site_uv: truesite_pv: truepage_pv: true# 新增以下的配置init ...
每周一个自定义View-2-动态ProgressViewTip2
每周一个自定义View-2-动态ProgressViewTip2
其实功能周一就已经实现了, 不过后面的内容感觉比功能的实现还繁琐
照理先看下效果, 这里可以看到, 随着进度的变化越快, tip偏移的角度也越大, 给人一种加速度高的感觉
设计过程静态分解这个view整体看来还是比较简单的, 可以分成背景和文字的展示
背景的话可以看做一个圆角矩形和一个等边三角形, 显示的文字的话只要让文字在矩形的中心显示就可以了
动画效果动画效果也比较简单, 根据当前需要变化的进度按照比例来旋转整体的角度即可
代码实现代码相对来说还是比较简单的, 就不分模块展示了
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273@Override protected void onDraw(Canvas canvas) { //绘制区域下移, 避免顶部动画时 ...
Android杂货店-一次自动化测试的记录
Android杂货店-一次自动化测试的记录
是的, 每周一个自定义View的系列第二周就咕咕咕了, 因为我平时使用的工具各种各样, 实在是没有什么办法归为一类来处理, 现在想想, 这里平时实际工作使用的工具反而是更应该分享给大家的, 于是便有了现在新的系列Android杂货店, 多吃才能更好学习不是.
背景最近一直在做一个蓝牙通信的项目, 由于通信的情况不是很稳定, 就像做一个冒烟测试看一下具体的情况, 不过现场十分的复杂, 需要延时通信, 异步的获取结果, 在根据结果决定相关的操作, 既不是白盒也不是黑盒. 因为是针对开发功能的测试, 纯黑盒的情况下无法获取到一些检测的数据, 而纯白盒的情况下又有许多的功能以及被集成, 只不过没有数据的显示. 加之功能测试流程复杂, 重复性高, 最后通过adb和shell进行了测试
设计与实现测试的设计来说还是比较简单的, 打开应用-> 检查状态 -> 测试功能1 -> 测试功能2 -> 退出应用 -> 统计信息 -> 下一次循环测试
不过现实起来还是比较麻烦, 既有log日志的信息截取, 还有页面点击的事件 ...
每周一个自定义View(1) -动态ProgressView
每周一个自定义View(1) -动态ProgressView
新的一个系列, 应该是计划每周实现一个自定义View, 看看能检查到多久吧
这次就从一个常见的ProgressBark开始吧, 最近的项目中使用了一个Progress显示文件下载进度的功能, 设计给的是一个静态的图片, 也没有说需要具体实现的情况, 后面优化的时候刚好有了性质, 就有了下面的这个AnimatorProgressBar.
效果展示
支持功能
基本的的进度设置(当前默认为0-100)
颜色定义, 使用的颜色都是可以设置的, 满足各样的ui需求
元素定义, 作为展示的Progress中的线条可以设置宽度和间距
动画控制, 动画效果可以设置展示速度, 总有一个组合适合你
设计过程
将相关的view分为了四层, 从下至上分别为
背景图层 用于显示整个view的背景
进度图层 相当于进度条的背景颜色
线段动画图层 在这里绘制出现的线段, 并控制器动画的效果
遮罩展示图层 这里使用了遮罩展示的方法, 控制遮罩图层的进度和样式来表现实际的展示效果
实现过程 首先是背景如果绘制的, 简单来说就是两个圆形和一个 ...
RobinAlgo - 可视化算法学习平台 正式上线了
RobinAlgo - 可视化算法学习平台 正式上线了
!!! RobinAlgo - 可视化算法学习平台 正式上线了 !!!!!! RobinAlgo - 可视化算法学习平台 正式上线了 !!!!!! RobinAlgo - 可视化算法学习平台 正式上线了 !!!重要的事情要说三遍.
0. RobinAlgo是什么?->插入视频<-
RobinAlgo通过简单的视频大家应该对RobinAlgo有一点点的了解了, 正如视频的介绍中, RobinAlgo是一个算法学习的平台, 通过RobinAlgo可以帮助你提供你的算法能力.
RobinAlgo的优势
动画展示 每道题目都有针对当前题目而原创制作的动画, 通过可视化的动画帮助大家理解题解和算法的运行过程, 是帮助你高效学习的不二神器
手绘讲解视频 题目讲解的过程中根据思路实时绘制, 方便同步讲解的思路, 更快的理解算法内容
代码详解 每行代码都提供完整的代码, 更快的理解代码的实现
视频精简 不同于许多时长半小时起步的视频, 在视频后期制作中不断的调整内容, 保证每期视频时长都在十分钟左右, 精简但不简单, 视频的每分 ...
写在RobinAlgo上线的前一天
写在RobinAlgo上线的前一天
在写这篇文章的时候我特意去看了一下git的提交记录, RobinAlgo创建于5月13日, 兜兜转转也半年了, 网站略显简陋, 但是也是一个新的开始.
0. 起做点自己想做的事情在我还在大学的时候就一直萦绕在脑中, 不过因为各种各样都能知道的原因一直没有付出于行动, 毕业到现在的工作中这个念头也一直浮现, 也开始准备了一点点的事情, 但是到最后都是不了了之. 不过随着三月从之前的公司离职之后这个念头就愈发的强烈, 一边是都说的大环境不好的情况, 一边是有点为了做事而做事的想法. 不过最后的结果也显而易见了, 经过了一段时间的思考后还是觉得要努力一下.
在思考的过程中想了很多也, 最初的开始还是感觉先有个工作, 然后先做点副业, 尝试经营下副业, 有一定的成效后再把副业转为全职, 不过最后还是没有选择这个, 一是之前工作的情况就一直是这个想法, 但是基本没有什么产出. 后面开始做RobinAlgo的时候才发现只用副业的精力的话不论效率还是产出的话都远远达不到我的要求. 人的精力还是有限的, 加上对自己的清晰的认知, 最后的还是选择了这条路.
...
网页中实现长图固定宽高滚动展示
网页中实现长图固定宽高滚动展示
最近的事情比较多, 不能体系的整理相关资料, 所以开始多做一些小功能和解决小问题.
问题的来源是做网站的时候需要实现一个比较长的图片, 固定宽度, 默认显示图片顶部的内容, 图片有最大的高度, 当超过最大的高度的时候可以滚动展示. 避免整个页面因为图片拉伸的过长.
功能比较简陋也比较简单, 不过我在实现的时候耽误了不短的时间. 记录一下,简单的问题有时候思路容易陷入胡同中导致迟迟不能解决. 这里记录下, 希望可能帮到有需要的人
下面直接看下效果图
demo 比较简陋, 效果也很简单
12345<div style="width: 1000px; height: 400px; overflow-y: auto;"> <img src="http://image" style="width: 100%; overflow-y: auto;" /></div>
LikelyHttp -- 可能是最简单的retorfit二次封装库
LikelyHttp – 可能是最简单的retorfit二次封装库
retorfit + okhttp可能现阶段最常见的android网络请求库了,网上针对retorfit和okhttp二次封装的库层出不穷, 其中有很多很优秀功能也很强大的库,但功能强大和内容丰富很有可能带来了更多的耦合从而导致这些第三方的库在使用的时候不尽如人意,很多的时候我们的使用第三方的库的目的是使得我们的使用更加的简洁和简单. 二是网络库是一个使用频率十分高的库,为此为自己封装一个自己使用更加顺手的库,为此才有了个做了减法的LikeluHttp.
如何使用12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970//定义OkHttp相关, 注册拦截器相关的OkHttpClient mOkHttpClient = new OkHttpClient.Builder() .addInterce ...