![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自定义View
文章平均质量分 93
古嘉明同学
不务正业的研究生,会安卓的程序员
展开
-
一个解决滑动冲突新思路,做到视图之间无缝地嵌套滑动
在此文章开始之前,我想抛出一个问题:如何解决滑动冲突?用传统的思路解决,你可能会从 View 的 onInterceptTouchEvent() 和 onTouchEvent() 方法入手,根据业务的情况以及手指滑动的方向,按需拦截事件来解决视图之间的滑动冲突。这种思路没有错,可以完美解决视图之间的滑动冲突。但这种思路有个局限,它无法解决嵌套滑动问题。为什么呢?因为目前绝大多数的滚动组件(RecyclerView,ScrollView,ListView等),我们翻看它们的源码,都可以看到它们在处理原创 2022-04-26 00:00:01 · 2715 阅读 · 3 评论 -
理解TextView三部曲概览
最近项目中用到一个StrokeTextView的组件,主要是给文本内容添加描边的效果,从开始可以“描边”满足需求,到最后一步步优化成一个成熟的控件,StrokeTextView就像从一块地基变成了我想要的一栋大别墅,真是有辛酸有喜悦。这一次的优化,也是让我对TextView的绘制有了更加深刻的理解,这里总结成三部曲来记录完整的从开发到优化的过程,相信读者看完后也会对TextView的绘制有了更进一步的理解和把握。先来看看三部曲所分别要达到的效果:三部曲(一):上面这张是当width = 20dp.原创 2020-09-02 23:19:13 · 375 阅读 · 0 评论 -
理解TextView三部曲之番外篇:或许这会是最终的进化
额,为什么会有番外篇呢。。因为新版本上线后,别的同学用我的这个控件,描边显示出问题了-_-!什么问题呢?我把问题抽出来,同时把问题放大点,给大家看看(抹眼泪.png) 好嘛,问题不大。。就是描边歪了一点点,对吧。可是怎么会这样!?,我自己测根本就没有问题,压根就没出现过这样的问题啊。。(抹眼泪.png)我又去检查了一遍计算描边位置那块的代码,最初是以为其他同学一不小心该了那块的代码,导致描边位置计算出错了,结果发现,代码丝毫没有动过的痕迹。那怎么会描边出错呢?而且他描边出问题的地方,在我这里原创 2021-01-26 22:00:40 · 244 阅读 · 0 评论 -
随心所欲!做一个你自己的号码检查控件~
最近项目有个需求,需要有一个弹窗验证手机号的中间四位,大概长这样:就是一个简单的校验手机号的控件,原以为项目中以前应该也有做过,会有现成的可以用。结果找了半天,没有~,好吧,再想想之前自己体验过的类似的控件,好像实现起来也比较简单,那就自己做一个吧。先做个简单的版本,能完成需求就行,这也是这一篇的主要内容。首先分析一下布局,上面一个TextView,下面四个文字框,底部的两个Button先不考虑。主要是这四个文字框要怎么实现?我们想要实现的效果是用户每输入一个数字,就会依次填充在对应的框框里,原创 2020-11-04 20:58:00 · 202 阅读 · 0 评论 -
理解TextView三部曲(三):倔强的StrokeTextView(我无论如何都要展示出来!)
理解TextView三部曲(三):倔强的StrokeTextView(我无论如何都要展示出来!而且要美美的!)上一篇我们让StrokeTextView支持padding描边,如果有同学没有看过或者对上一篇内容有遗忘的,可以移步上一篇 理解TextView三部曲(二):支持Padding的StrokeTextView 按照惯例,在本篇开头会抛出上一篇优化后的不足,看看是哪里还有问题首先看第一张图,宽、高都是wrap_content的情况下,“18”左边的描边显示正常,但是右边的描边显然就被切了一块,原创 2020-09-09 21:10:35 · 908 阅读 · 4 评论 -
理解TextView三部曲(二):支持Padding的StrokeTextView
理解TextView三部曲(二):支持Padding的StrokeTextView上一篇,我们实现了一个基本的StrokeTextView,能支持各种Gravity,本篇,我们就要在上一篇的基础上进一步优化,让StrokeTextView可以支持各种Padding,而它的margin我们不需要关心,因为margin是由父容器控制的。如果有同学不记得上一篇的内容,或者是新同学还没看过我的三部曲序列,可以点击下面的传送门阅读~:理解TextView三部曲概览理解TextView三部曲(一):Text原创 2020-09-06 21:06:23 · 458 阅读 · 0 评论 -
理解TextView三部曲(一):TextView的文本绘制过程
在概览中,我们已经介绍过了安卓的文本是如何绘制的,这部分是前导知识,如果有同学还对此有疑惑的,可以返回上一篇概览阅读。本篇,我们就要利用我们上一篇所学的文本绘制知识来实现一个简单的StrokeTextView,还记得要实现的效果图吗? 要实现的目标就是能够让StrokeTextView在不同Gravity的情况下,正确给文本描边我们知道要自定义View,有4种方式:继承自View继承自ViewGroup继承自特定的View,如TextView继承自特定的ViewGroup,如FrameL原创 2020-09-03 22:42:13 · 806 阅读 · 0 评论