Android自定义控件
文章平均质量分 78
Android自定义控件相关内容
怪兽N
Android开发,写一篇你看得懂的文章
展开
-
侧滑Activity返回原理剖析
文章标题简介Slidr使用示例步骤一 重新包裹界面步骤二 使用`ViewDragHelper.class`处理滑动手势步骤三 在ViewDragHelper.Callback中处理我们的界面的拖动总结简介使用侧滑Activity返回很常见,例如微信就用到了。那么它是怎么实现的呢。本文带你剖析一下实现原理。我在github上找了一个star有2.6k的开源,我们分析他是怎么实现的//star 2.6k'com.r0adkll:slidableactivity:2.0.5'Slidr使用示例它原创 2021-06-24 10:58:50 · 327 阅读 · 1 评论 -
一步步实现这个炫酷的树状节点图自定义控件
本文介绍了我实现自定义树状节点图控件的原理及一些效果展示,欢迎交流简介Tree View; Mind map; Think map; tree map; 树状图;思维导图;github连接: https://github.com/guaishouN/android-tree-view.git目前没发现比较好的Android树状图开源控件,于是决定自己写一个开源控件,对比了一下市面上关于思维导图或者树状图显示(如xMind,mind master等)的app,本文开源框架并不逊色。实现这个树状图过.原创 2021-06-18 18:05:18 · 2202 阅读 · 19 评论 -
Android的clickable与事件分发关系详解
文章目录Android的clickable与事件分发关系详解简介设置影响设置Clickable与onTouchEvent(MotionEvent event)的关系总结Android的clickable与事件分发关系详解简介Android里的View都可以通过clickable设置是否可以点击,对于点击及Android事件分发及处理理解有非常重要的作用。长话短说,开始吧。设置影响clickable是用于设置是否允许view的点击事件的配置标识,如果clickable=true那么"pressed"原创 2021-06-07 10:53:54 · 1818 阅读 · 3 评论 -
自定义树状图GysoTreeView控件的直角线实现
简介本文主要是在开源树状图GysoTreeView控件上添加直角线实现,丰富原来框架的节点间的画线样式。github连接: https://github.com/guaishouN/android-tree-view.gitgitee连接:https://gitee.com/guaishoun/gyso_tree_view.git实现思想在fromView中获得起点,在toView中获得终点,然后在使用1/3的父节点与子节点间隙,计算中间直角插值。画线时,主要使用Path的lineTo和move原创 2021-05-18 18:05:23 · 857 阅读 · 6 评论 -
Android资源文件夹anim和animator文件夹的区别
文章目录主要区别anim文件夹下的补间控制xmlanim文件夹下的插值器xmldrawable文件夹下的帧动画xmlanimator文件夹下的属性动画xml总结主要区别Android资源文件夹anim和animator都是放置动画相关的xml文件。这里简要说明一下,Android中动画分为属性动画和视图动画两大类,其中视图动画又分帧动画和补间动画。对于动画资源文件,官方动画也有详细说明,本文归纳总结思路更清晰。文件夹anim和animator其中主要区别在于:anim文件夹:放置补间动画相关的xm原创 2021-05-18 16:27:24 · 3340 阅读 · 9 评论 -
使用SpringAnimation实现弹簧联动
使用SpringAnimation实现弹簧联动文章目录使用SpringAnimation实现弹簧联动简介添加库使用SpringForce设置弹簧效果总结简介弹簧效果动画SpringAnimation与甩动效果动画FlingAnimation使用上很类似,主要区别在于FlingAnimation是根据甩动动作fling提供的速度和摩擦力来控制动画,而SpringAnimation是根据弹簧的刚度、阻尼、目标终点三个因素来实现弹簧动画效果。所以对于弹簧动画,设置刚度Stiffness、阻尼DampingR原创 2021-05-13 13:12:02 · 381 阅读 · 1 评论 -
使用AnimatedVectorDrawable为按键icon改变添加动画
文章目录简介定义步骤总结简介AnimatedVectorDrawable(矢量可绘制对象)是一种无需像素化或进行模糊处理即可缩放的可绘制对象。借助AnimatedVectorDrawable类以及用于实现向后兼容的AnimatedVectorDrawableCompat,可以为矢量可绘制对象的属性添加动画效果,例如旋转或更改路径数据以将其变为其他图片。可以与帧动画 AnimationDrawable划为一类,动画可绘制图像。项目地址:https://gitee.com/guaishoun/animat原创 2021-05-11 17:47:23 · 613 阅读 · 3 评论 -
Android开发 初识SVG
目录简介用途SVG特性语法使用Android Studio转SVG为Vector xmlSVG图形常用网站推荐简介SVG是一种图像文件格式,由画布加载。Sacable Vector Graphics, 可放缩的矢量图。用途APP图标自定义控件:不规则的控件,复杂交互,子控件层叠判断,图表等复杂动画:根据滑动的动态显示动画,路径动画SVG特性SVG可以被非常多的工具读取及修改SVG与JPEG、GIF图像比起来尺寸更小,且可缩性更强SVG是可伸缩的SVG图像可以在任何的分辨率下被高质原创 2021-05-11 10:31:16 · 309 阅读 · 2 评论 -
OverScroller的使用 自定义一个ScrollView
简介本文主要介绍OverScroller的使用。而本文示例演示综合使用OverScroller和EdgeEffect来实现自定义ScrollerView。OverScroller的基本使用与Scroller的使用非常类似,官方推荐使用OverScroller代替Scroller。关于使用OverScroller还是像Scroller那样,三个步骤:定义滚动,触发滚动,然后不断更新滚动。具体看Scroller的使用这篇文章。git项目: https://gitee.com/guaishoun/over_s原创 2021-05-06 21:56:06 · 566 阅读 · 2 评论 -
Scroller的使用 仿ViewPager效果
简介首先要知道Scroller或者OverScroller是用来计算滚动用的, 再具体点就是使用触摸事件生成滚动动画所需的数据,实现以动画方式显示滚动手势。通过Scroller不断更新滚动数据后,还是要调用View.scrollTo(x,y)或View.scrollBy(x,y)来控制View的内容滚动。 其次,Scroller或者OverScroller作用和使用方式基本是一样的,但是OverScroller包含了响应方法来向用户指示其在执行平移或滑动手势后已达到边缘,一般配合EdgeEffect类一原创 2021-05-01 10:22:21 · 225 阅读 · 2 评论 -
贝塞尔Bezier曲线的使用
贝塞尔Bezier曲线的使用1 简介贝塞尔曲线就是这样的一条曲线,它是依据N个位置任意的点坐标绘制出的一条光滑曲线。那么,我们可以直观地认为,为了得到一条贝塞尔曲线,我们只要输入起点、终点及控制点既可。变化参数t都是位于[0,1]。看到这里还不理解,没关系,文章会介绍怎么使用。如下图输入4个点[P0, P1, P2, P3],可以获得一条光滑的三阶贝塞尔曲线,通常我们叫P0为起点,P3为终点,P1和P2为控制点。强烈推荐在线工具https://cubic-bezier.com,这个工具的使用方法会原创 2021-04-22 21:09:20 · 2457 阅读 · 1 评论 -
开源Android自定义思维导图控件ThinkMap树状图TreeView(类似xMind那种效果)
GysoTreeViewTree View; Mind map; Think map; tree map; 树状图;思维导图;目前没发现比较好的Android树状图开源控件,于是决定自己写一个开源控件,对比了一下市面上关于思维导图或者树状图显示(如xMind,mind master等)的app,本文开源框架并不逊色。本控件实现了丝滑的放缩、移动、自动动画回归屏幕中心、子节点布局自定义等优点。github连接: https://github.com/guaishouN/android-tree-view原创 2021-05-10 21:41:01 · 4933 阅读 · 27 评论 -
EdgeEffect的使用(在自定义ScrollView中使用)
文章目录前言EdgeEffect是什么EdgeEffect的一些方法说明EdgeEffect在项目中的使用说明1 初始化配置3 状态控制4 绘制效果总结前言在写OverScroller使用(自定义一个ScrollView)的文章时,觉得EdgeEffect的使用有必要单独提出来做说明,主要是在一些可以滑动或放缩的自定义ViewGroup类控件中经常用到,并且是用来提示用户已经滑动到边界的。比较常见的例子就是ScrollView,当滑动到边界时就会在边界延申出一部分颜色弧形边块。本文代码例子(OverSc原创 2021-05-07 11:25:43 · 1838 阅读 · 4 评论