![](https://img-blog.csdnimg.cn/20191108132740350.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android自定义控件
Android自定义控件,实现各种有趣的自定义View,来达到酷炫的交互效果
李元静
专注移动开发10年,对Android、鸿蒙、Python以及Flutter均有涉猎。最近更新Python爬虫与鸿蒙专栏,著有《Flutter App开发从入门到实战》一书,感兴趣的读者加微极客学编程,实时掌握博主的更新动态。
展开
-
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
本文目录分析CSDN搜索文字布局控件ViewGroup获取子控件的Margin实现CSDN搜索文字提示布局分析CSDN搜索文字布局控件首先,我们需要来分析一下,CSDN搜素框文字提示控件的布局,下图为最新CSDN的搜索框布局提示图:经过前面的自定义控件,布局等学习后,我们来简单的来分析上面这个控件,可以看到文字的提示是由很多的文字(TextView)组成,而每排的文字(TextView)数...原创 2019-12-14 15:22:30 · 21019 阅读 · 1 评论 -
Android自定义控件(十二)——自定义属性及应用
本文目录如何自定义属性format取值类型引入自定义属性代码中获取自定义属性自定义属性画圆如何自定义属性我们经常使用XML引入各种控件,比如TextView,Button等,使用过程中,我们通过设置各种属性值,让控件变的多姿多彩,比如我们使用android:layout_width定义控件的宽度,使用android:layout_height定义控件的高度。那么现在我有一个需求,我想自己定义个...原创 2019-12-03 12:16:46 · 23069 阅读 · 0 评论 -
Android自定义控件(十一)——自定义ViewGroup实现LinearLayout
本文目录ViewGroup的绘制流程onMeasure()函数与MeasureSpec模式分类如何使用模式onLayout()函数自定义ViewGroup实现LinearLayoutViewGroup的绘制流程要自定以ViewGroup,我们首先需要了解ViewGroup的绘制流程,其实View与ViewGroup绘制基本相同,只是在ViewGroup中,不仅仅要绘制自己,还要绘制其中的子控件...原创 2019-12-02 12:19:12 · 21903 阅读 · 0 评论 -
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
本文目录SurfaceView与View区别使用缓冲的Canvas绘图SurfaceView生命周期实现天气APP背景自动左右循环移动效果SurfaceView与View区别前面我们所有的讲解基本都是自定义View来实现各种Android的自定义控件,但编写过相机的Android程序员,肯定对SurfaceView不陌生,那什么时候该用SurfaceView呢?我们先来看一个概念,在Andr...原创 2019-12-01 15:09:09 · 18231 阅读 · 0 评论 -
Android自定义控件(九)——如何让图片颜色更鲜艳以及给图片添加水印
本文目录Bitmap像素是否可以更改Copy()函数setPixel(),getPixel()让图片变得更鲜艳给图片添加水印Bitmap像素是否可以更改在前面一节中,我们详细介绍了两种创建Bitmap的方式,一种是使用BitmapFactory,一种是使用Bitmap静态方法,但这里我有一个需求,假如我有一张图片,绿色的颜色非常丰富,但绿色很暗,这个时候我想要修改该图片每个像素中的绿色值,用这...原创 2019-11-29 13:32:30 · 18967 阅读 · 2 评论 -
Android自定义控件(八)——详解创建bitmap的方式
本文目录什么是BitmapBitmap格式它是如何存储每个像素点的如何进行压缩防止OOM创建Bitmap什么是BitmapBitmap是绘图中非常重要的概念,在我们前面自定义的所有View中,他们的画布Canvas说到底都其实是Bitmap,我们先来看看我们常用的代码片段:Bitmap bgBitmap=Bitmap.createBitmap(getWidth(),getHeight(),B...原创 2019-11-28 14:28:02 · 21894 阅读 · 0 评论 -
Android自定义控件(七)——ShapeDrawable实现放大镜效果
本文目录什么是ShapeDrawableOvalShape的基本用法放大镜效果实现什么是ShapeDrawableShapeDrawable是一种常见的Drawable,可以理解为通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变效果的图形。ShapeDrawable有两个构造函数,分别是:ShapeDrawable()ShapeDrawable(Shape s)Shap...原创 2019-11-25 12:24:02 · 21600 阅读 · 0 评论 -
Android自定义控件(六)——文字波浪加载效果
前面介绍了贝济埃曲线,实现了波浪动画,也介绍了颜色叠加相关模式,比如其中的SRC_OUT模式实现了刮刮乐,今天将反过来以目标图像模式来是实现文字波浪加载动画效果。1.目标图像模式DST_IN在前面的刮刮乐中,SRC为前缀的所有模式都是以源图像显示为主;今天介绍的模式DST_IN在DST(目标相关模式)中,优先以目标图像为主,也就是说,SRC_IN与DST_IN,只要交换源图像与目标...原创 2019-11-18 12:17:00 · 23285 阅读 · 0 评论 -
Android自定义控件(五)——圆形头像最简单的实现方式
圆形头像最简单的实现方式着色器着色器函数实现圆形头像绘图实现XML代码如下着色器今天将接着上一节的内容,讲解着色器Shader更多的用法,不知道大家关注过其他的圆形头像实现方式没有,是不是都有一个共同点,那就是代码非常的长,而博主今天实现的方式,只需要自己写13行代码就可以实现。着色器函数经过上一篇的讲解,我们都知道,着色器Shader是一个基类,那么它其实也是有两个函数的,分别是:s...原创 2019-11-17 13:06:06 · 23114 阅读 · 0 评论 -
Android自定义控件(四)——望远镜效果实现
通常在两种情况下人们会思变求新:一种是希望摆脱危机,另一种只是单纯地想要一些新鲜的改变,没有什么特别迫切的需要。在前者,发出期盼的人即不幸福也不富足,而后者幸福而富裕。(不明之事乃命运之域,确定之事乃法之所辖)Android自定义控件今天要讲到的就是望远镜效果,那么什么是望远镜效果,我们不妨看看下方的动图,看完后,相信大家就有一定的认识了。1.着色器对于这种效果来说,其实实现起...原创 2019-11-16 19:23:50 · 22903 阅读 · 1 评论 -
Android自定义控件(三)——贝济埃曲线与水波纹动画
我是清都山水郎,天教分付与疏狂。曾批给雨支风券,累上留云借月章。诗万首,酒千觞。几曾着眼看侯王?玉楼金阙慵归去,且插梅花醉洛阳。看过小编写的第一篇的刮刮乐实现的读者,肯定看到了博主提到的贝济埃曲线,那一篇没有解释,因为毕竟开篇还是要能让大家感兴趣,一上来就理论未免有些乏味,所以这篇就来解析刮刮乐那篇的贝济埃曲线。1.贝济埃曲线历史贝济埃曲线于1962年由法国工程师皮埃尔·贝济...原创 2019-11-09 14:08:31 · 22950 阅读 · 1 评论 -
Android自定义控件(二)——支付宝支付成功动画
读律看书三九年,乌纱头上有青天,男儿欲画凌烟阁,第一功名不爱钱。不知道大家关注过没有,在你使用支付宝的过程中,有一个支付成功的动画,虽然说很小,但看起来其实还是蛮实用的,涉及的知识点有Android属性动画,Paint的getSegment()函数。1.分析动画首先,我们来分析一下这个动画,如上图所示,我们可以看到,先是圆自己运行闭合,然后在在圆的里面画一个✔,对于圆来说,很简...原创 2019-11-07 19:21:57 · 24360 阅读 · 1 评论 -
Android自定义控件(一)——抽奖刮刮乐的实现
飞来千丈玉蜈蚣,横驾三天白螮蝀,凿开万窍黄云洞。看星低落镜中,月华明秋影玲珑。赑屭金环重,狻猊石柱雄,铁锁囚龙。今天小编专门准备开一个Android自定义控件栏目,来分析Android常用的各种自定义控件知识,而今天的开篇,就从Android的自定义控件刮刮乐讲起把,为了让大家感兴趣,第一篇就不赘述理论,直接来玩一个有趣的刮刮乐控件。众所周知,手机APP中有许多的抽奖方式,比如转盘...原创 2019-11-07 15:32:47 · 24177 阅读 · 0 评论