自定义view
火炎焱燚-
生命在于运动,学习改变命运
展开
-
Android Banner Indicator 轮播图指示器
轮播图 ( banner ) 是 android app 中常用控件,指示器也随之多样化这次项目大改版,指示器如上图效果,因为开发周期很紧,故首先奉行拿来主义,感觉这种常见的效果网上肯定很多,查找之后大跌眼界;原本项目有 banner ,自带指示器无法满足 UI 要求,查找之后没有发现可直接使用的,最后决定自定义一个简单可直接使用的 BannerIndicatorView使用方法非常简单:// 1 设置指示器个数(一般在设置banner数据时同步设置即可)mIndicator.ini..原创 2021-12-29 11:24:20 · 6138 阅读 · 6 评论 -
Android 自定义View----多点触摸反馈
多点触摸和单点不同,只要了解每隔触摸点的属性即可public class PaintingView extends View { Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); // 轻量级Map SparseArray<Path> pathMap = new SparseArray<>...原创 2020-04-01 16:24:10 · 298 阅读 · 0 评论 -
Android 自定义View----触摸反馈
布局,绘制,触摸反馈;想要实现和用户手势交互,必须了解触摸反馈,简述下:dispatchTouchEvent:分发事件onInterceptTouchEvent:拦截事件onTouchEvent:消费事件AAA------dispatchTouchEventAAA------onInterceptTouchEventBBB------dispatchTouchEventBB...原创 2020-01-16 11:07:14 · 786 阅读 · 0 评论 -
Android 自定义View----布局流程(流式布局)
绘制一个商品属性选择的控件,需要如何绘制?这个时候需要了解自定义view中的布局流程;自定义veiw包括布局,绘制,触摸反馈布局就是确定每个view的位置和尺寸,然后才能知道在哪里绘制,绘制完成后用户才能知道点哪里; 布局整体流程: 假设一个ViewGroup里面有n个子view 的布局过程 分测量和布局两个流程 ①测量流程:从最上面的父view往下...原创 2020-01-07 17:32:40 · 386 阅读 · 0 评论 -
Android 自定义View----文字绘制(文字居中自动换行)
c使用canvas绘制文字非常简单,但文字绘制根据baseLine无法剧中,网上说法很多,有点麻烦,这里用到一个非常简单的办法,先来看下文字的绘制参考线图片直接百度复制的,不是自己画的,有时间自己画一个;文字上下居中其实很简单 // 单行绘制 (先计算出基线和到文字中间的距离,mPaint不是TextPaint) float offset = M...原创 2020-01-01 23:15:44 · 1673 阅读 · 1 评论 -
Android 自定义View----属性动画(如何在自定义view中添加动画)
自定义view难免会接触到动画,不然很多效果做不出来,动画分为几种,今天主要用到的是属性动画;上面这个效果分上下两部分完成,在绘制的时候先绘制下半部分,具体代码如下,里面有详细注释:public class CameraAnimatorView extends View { private Paint mPaint = new Paint(Paint.ANTI_ALIAS_...原创 2019-12-30 14:35:33 · 1330 阅读 · 0 评论 -
Android 自定义View----离屏缓冲和图像混合模式(圆形头像)
这里主要了解下离屏缓冲和图像混合模式,可能在自定义view的时候会用到,绘制的内容也非常简单,一个简单的圆形头像绘制大概分为5步:1,开启离屏缓冲2,绘制一个圆3,设置图像混合模式 https://www.cnblogs.com/libertycode/p/6290497.html4,绘制bitmap5,绘制完成后使用 restoreToCount 将离屏缓冲的绘制...原创 2019-12-27 11:36:47 · 1283 阅读 · 2 评论 -
Android 自定义View----PathEffect(仪表盘,饼图)
通过这个view大致了解了几个方法,可通过PathEffect给path设置样式;大致分三步:第一步:通过canvas.drawArc()方法先把圆弧画出来第二步:画刻度(这里通过给画笔设置PathEffect的方法实现刻度绘制,并非for循环画线)第三步:画指针(这里需要了解正弦余弦,其实都是API的方法,直接调用即可,但需要自己理解)public class Dash...原创 2019-12-18 18:36:13 · 597 阅读 · 0 评论 -
android:自定义view--区线图
老规矩,先上图,整个自定义view分为标题模块,xy轴标注数据模块和数据模块,其实数据模块是有一个浅灰色的背景,但是动态图里面看不出来,真机上可以看出;和前面几个图表相比增加了贝塞尔区线,虚线,手势点击显示标注线和当前日数据;后面还有左右按钮切换上周下周数据,这个不是主要功能,就不加到博客中了,真实项目使用直接将数据准备好,左右切换的时候切换数据源刷新view即可;老...原创 2018-04-05 00:10:39 · 733 阅读 · 0 评论 -
android:自定义view--MyTabView
如果标题分割线是竖直的就非常简单了,可以直接使用TabLayout实现;其实上面的圆角不用咱们考虑,因为activity中间部分整体是一个CardView只需将title部分自己画出来即可;整个view由四个图形绘制而成:android自定义view:Paint和Canvas真个view代码比较连贯,虽然整个view粘贴上来有点乱,但是分开粘贴看上去更乱;pub...原创 2017-12-01 14:41:17 · 1242 阅读 · 3 评论 -
android:自定义view--横向柱形图
此demo也是从我们真实项目中copy出来的;大致步骤和制作MyTabView差不多,只不过稍微繁琐一些;/** * Created by zheng on 2017/12/4. * 横向的柱形图 * * 1:绘制XY轴 * 2:绘制XY轴刻度和旁边的文本 * 3:绘制圆角矩形(六个月份的柱子) * 4:绘制和背景颜色一样的矩形(遮挡圆角矩形左边的圆角) * */...原创 2017-12-11 14:07:41 · 1674 阅读 · 3 评论 -
android自定义view--Paint和Canvas
demo主要简单了解下自定义view在onDraw()对视图进行绘制的一些简单操作如果英语很6可以直接看官方文档:Canvas官网地址 Paint官网地址要绘制图形,首先得调整画笔(Paint),按照自己的需求设置画笔的相关属性,常用的一些设置有: 1、setAntiAlias():设置画笔的锯齿效果 2、setDither():设置防抖动 ...原创 2017-11-30 16:20:27 · 749 阅读 · 1 评论 -
android:自定义view--组合控件
项目中用到了很多类似的界面,一行左右两边都是显示文本,数量非常多;如果按照普通的方法画肯定也能非常轻松的画出来,但是因为使用地方较多,为了后期维护,代码的简介,提高开发效率,简单易用等等:可以自定义一个组合控件;自定义组合控件使用起来非常方便,创建也非常的简单,四步走:第一步:创建组合控件的XML布局文件<LinearLayout xmlns:android="h...原创 2017-12-13 10:56:52 · 692 阅读 · 1 评论