![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自定义View
文章平均质量分 92
我赌一包辣条
纸上得来终觉浅,绝知此事要躬行。
展开
-
跟ViewHolder说再见!实现一个无限轮播图究竟有多简单?
去年8月份,我在Github开源了一个无限循环的轮播图库–BannerViewPager(以下简称BVP)。时至今日,一年多的时间过去了,BVP在大家的支持下已经在GitHub上收获了1.9k的Star。前段时间,我将BVP迁移到了Gitee,也很有幸受到了Gitee官方的认可,并得到了Gitee官方的推荐,短时间内在Gitee上收获了近120个Star。当然,能够却得这么大的成绩离不开大家的支持。另一方面也少不了我对BVP的悉心维护。BVP最初的目标是做一个全网最好用的轮播图库,让大家用尽可能少的代码实原创 2020-12-27 20:09:26 · 390 阅读 · 0 评论 -
静态代理这么用?聊一聊ViewPagerIndicator重构的一些经验
很高兴又和大家见面了,本篇文章是《BannerViewPager系列》的第三篇。就在不久前BannerViewPager发布了2.5.0版本,在这个版本中针对Indicator部分的代码进行了重构。本篇文章带大家一起来了解下本次重构Indicator中用到的设计思想,顺便回顾及加深认识一下静态代理模式。如果你还不了解BannerViewPage可以先阅读前两篇文章:《打造一个丝滑般自动轮播无限循...原创 2019-11-24 12:05:21 · 434 阅读 · 0 评论 -
打造一个丝滑般自动轮播无限循环Android库
最近公司项目在升级AndroidX,由于项目中用到的一些比较老的库都已停止更新维护,因此需要将这些库替换掉,其中就包括自动轮播的Banner库。恰逢笔者在之前写过一个轮播图,因此就在此基础上重构,打造出了一个全新的支持多种样式的轮播库---[BannerViewPager](https://github.com/zhpanvip/BannerViewPager/tree/master)。[BannerViewPager](https://github.com/zhpanvip/BannerViewPager原创 2019-09-01 22:14:13 · 4576 阅读 · 1 评论 -
这可能是全网最好用的Banner轮播库
自上篇文章《打造一个丝滑般自动轮播无限循环Android库》发布之后BannerViewPager又迎来了众多功能更新(还不了解BannerViewPager的同学可以戳上边链接查看)。现在的BannerViewPager已经具有非常丰富的API接口,同时可以支持市面上百分之九十以上的样式。还不了解BannerViewPager的同学可以先下载Apk体验。demo apk存放在github上,下载...原创 2019-11-15 23:19:10 · 2156 阅读 · 0 评论 -
BannerViewPager源码剖析
产品的需求千变万化,你永远也猜不到下一步产品会给你提一个什么样的需求。因此对于一个比较人性化的Banner库来说,它也应该支持开发者去自定义任意的Item页面布局。BannerViewPager就是本着这样的思路来做的。那么究竟其内部是如何实现的呢?原创 2019-09-08 15:06:16 · 1778 阅读 · 0 评论 -
自定义View之弹性滑动的LockView
本篇文章我们来实现一个带有弹性滑动效果的自定义View。当然,文章的侧重点依然是自定义View。但是还会涉及到一些其他方面的知识,比如View的事件分发以及如何实现带有弹性的滑动。还是老规矩,看下最终实现效果。 ...原创 2018-07-14 20:30:41 · 1763 阅读 · 5 评论 -
自定义ViewPager实现图片自动轮播无限循环
Viewpager图片自动轮播无限循环是Android开发中经常用到的功能,功能实现起来也比较简单。虽然如此,但是很多情况下做出来的效果并不太让人满意,甚至有些上线的项目自动轮播上也会出现一些bug。比如切换过程中出现空白页面,有些甚至在滑动过程中造成程序崩溃。本篇文章将实现ViewPager图片自动轮播无限循环,而且页面切换效果非常流畅。 还是先看效果图: 页面循环切换最容易出现问题的地方...原创 2016-07-26 17:33:51 · 41885 阅读 · 13 评论 -
自定义View之颜色渐变折线图
首先看下要实现的效果图,图片录制效果不好,渐变颜色没有完全显示出来,以至于下半部分渐变色变成了白色。 一、定义LineChartView类并继承View。 二、添加在定义属性。以在value目录下创建attrs.xml文件,文件中我们可以定义一些用到的属性,比如折线颜色、字体大小等属性。文件内容如下:<?xml version="1.0" encoding="utf-8原创 2017-03-16 14:14:16 · 6284 阅读 · 9 评论 -
自定义View之onMeasure()方法
在学习自定义View之前先对onMeasure()方法做下了解。 1.为什么要重写onMeasure()方法? 我们拿一个例子来看。自定义一个MyView类并继承View,代码如下:package com.example.smily.myview;import android.content.Context;import android.util.AttributeSet;import an原创 2016-08-01 12:26:15 · 581 阅读 · 0 评论 -
自定义View之继承ViewGroup
今天来完成一个自定义View继承ViewGroup的实例。先看效果图,如下: 该自定义View中有三个子控件组成,分别是TextView、EditText和ImageView。当EditText为空时不显示ImageView,当EditText不为空时显示ImageView,此时点击ImageView则清空EditText。 由于该自定义View中有三个子控件,因此我们可以选择让其继承Lin原创 2016-08-02 21:21:11 · 992 阅读 · 0 评论 -
自定义View之自定义圆
通过一个简单的实例来了解自定义View的流程 新建CircleView继承View,并重写onDraw方法package com.example.smily.customview01;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;impor原创 2016-08-01 14:41:19 · 381 阅读 · 0 评论