202205-27 Android自定义view之利用drawArc方法实现动态效果(思路详解) 目录前言一、准备1.测量2.初始化画笔3.自定义属性二、关键方法介绍drawArc 三.实现 1.思路2.效果图前言前几天看了一位字节Android工程师的一篇博客,他实现的是歌词上下滚动的效果,实现的关键就是定义一个偏移量,然后根据情况去修改这个值,最后触发View的重绘来达到效果。于是今天根据这个思路来写一篇简单的文章。欢迎留言一、准备在这之前呢,还是得简单描述一下自定义view中的一些准备工作1.测量@Overridepro... 继续阅读 >
202205-17 Android自定义view之3D正方体效果实例 目录前言一、小提二、将传感器改成事件分发机制三、使用四、源码总结前言在之前写了一篇关于3D效果的文章,借助传感器展示,有小伙伴问可不可以改成手势滑动操作(事件分发),所以出一篇文章传感器相关文章链接:Android3D效果的实现一、小提相对于常见的自定义view而言,继承的GLSurfaceView只有两个构造函数。可以理解为没有提供获取自定义属性的方法。publicTouchSurfaceView(Contextcontext){super(context);... 继续阅读 >
202110-20 Android自定义ViewGroup实现朋友圈九宫格控件 目录一、简介1.1、效果图如下1.2、主要功能如下二、使用2.1、自定义属性如下2.2、布局中使用自定义NineImageLayout2.3、Adapter方式绑定数据和UI2.4、列表里面使用三、源码地址四、总结一、简介最近项目里有个类似微信朋友圈的九图控件的需求,Github找了一下,发现都不太满足需求,我需要单张图片的时候可以按照图片宽高比列在一定范围内自适应,而大多开源项目单张图片也是一个小正方形,所以,干脆自己动手写一个1.1、效果图如... 继续阅读 >
202101-03 Android自定义view之围棋动画效果的实现 前言废话不多说直接开始老规矩,文章最后有源码完成效果图棋子加渐变色棋子不加渐变色一、测量1.获取宽高@OverrideprotectedvoidonSizeChanged(intw,inth,intoldw,intoldh){super.onSizeChanged(w,h,oldw,oldh);mWidth=w;mHeight=h;useWidth=mWidth;if(mWidth>mHeight){useWidth=mHeight;}}2.定义测量最小长度将布局分为10份。以minwidth的1,3,5,7,9的倍数为标准点。minwidth=us... 继续阅读 >
202012-10 解决Android自定义view获取attr中自定义颜色的问题 好久不见,最近有点忙,好久没有发文章了,前天有个小学弟在写项目的过程中遇到了这个问题,由此写一篇文章。项目场景:Android自定义View在布局中设置颜色问题描述:以下为学弟的代码//attrs文件<attrname="leftcolor"format="color"/><attrname="rightcolor"format="color"/>//Java文件代码,获取颜色intleftcolor=attrs.getAttributeIntValue("http://schemas.android.com/apk/res-auto","leftcolor",Color.BLACK);in... 继续阅读 >
202010-06 Android自定义view实现标签栏功能(只支持固定两个标签) 实现效果图主要代码完整源代码classTabView(context:Context,attributeSet:AttributeSet?):LinearLayout(context,attributeSet){privatelateinitvarfirstTab:ViewprivatelateinitvarsecondTab:ViewprivatevalfirstTabIndex=0privatevalsecondTabIndex=1privatevarselectedTab=firstTabIndexprivatevaltextSize=20fprivatevalbottomSplitColor="#FA871E"privatevalcenterSplitCo... 继续阅读 >