android-自定义控件
雨幕青山
人生至美,不过那一抹阳光
展开
-
android:自定义曲线图Canvas.drawPath()失效解决方法
自定义曲线图Canvas.drawPath()失效解决方法一、现象公司APP开发一个曲线图展示一些数据,在完成后测试时发现了一个问题:在部分机型(比如:米4 系统 6.0.1)上绘制曲线图时加载第一屏30条数据时没有问题,而滑动加载第二屏数据时所有数据的连线消失。但是其他数据包括连线上的点都没有消失。而在其他机型上没有问题(比如红米 Note 8 系统 9),实现代码如下: private void drawCurve(Canvas canvas, ArrayList<PointF> l原创 2021-03-18 11:04:59 · 1112 阅读 · 0 评论 -
自定义控件:玩转滚轮(柱状图、日期滚轮、刻度尺)
目录一、简介二、实现2.1 每个单元的滑动计算以及重绘一、简介最近产品经理总想是一些新鲜东西,于是需求中就添加了一些自定义控件,之前也写过一些自定义控件,详见:《属性动画:如何自定义View》、《自定义View:自定义CircleImageView实现及图形渲染》、《自定义View:用Canvas实现转盘View》等。这次有几个转轮的变形,其实这几个自定义控件的实现方式是相似的,其他不说先上图...原创 2019-01-28 10:36:00 · 769 阅读 · 4 评论 -
自定义View:快速索引实现
这篇博客道长给大家说一下快速索引的实现,这都是道长以前积攒的自定义view,之前没整理。现在抽空整理出来和小伙伴们分享一下。先看一下效果图: 一、绘制View构造方法 /** * 构造方法 * * @param context * @param attrs * @param defStyle */ public Quic原创 2017-06-26 17:59:51 · 528 阅读 · 0 评论 -
自定义View:用Canvas实现转盘View
前两天道长的同学让道长帮忙做个控件,道长看到效果图和需求感觉挺有意思,然后就答应下来了。下面和小伙伴们分享一下制作过程。 效果图和需求就不给小伙伴们看了,需求大概就是转盘可以来回拖动,点击有标志显示。然后给小伙伴们看一下完成后的效果图(道长终于会弄动态图了,哈哈哈…):一、绘制1.测量空间宽高在onMeasure()中测量宽高并且设置宽高为宽高的最小值,代码如下: /** * 设置原创 2017-06-26 10:13:16 · 1076 阅读 · 0 评论 -
自定义View:自定义属性(自定义按钮实现)
在自定义View中,一个View会有很多属性、监听需要设置。而在根View中只有最基本的属性和监听。所以很多属性需要自己定义。上一篇博客道长絮叨了一下画布实现自定义View,是以折线图的实现为例说的。这一次道长以自定义按钮的实现说一下自定义属性。系好安全带,要开车了……一、添加自定义属性在资源文件夹下添加attrs.xml文件在attrs.xml中添加如下代码<?xml version="1.0原创 2017-05-11 15:00:00 · 872 阅读 · 0 评论 -
自定义View:画布实现自定义View(折线图的实现)
今天道长打算说一下用画布实现自定义View,这是道长说的自定义View的第三种实现方式了。 第一种:是放好布局后使用NineOldAndroid监听动画实现,想看一下的话点击传送门属性动画(二):如何自定义View以及自定义View:侧滑菜单动画实现。 第二种:是放好布局后使用TouchEvent监听实现,传送门在此自定义View:侧滑菜单实现。 这两种都是使用已经存在的布局,一种继承Fram原创 2017-05-11 09:44:53 · 789 阅读 · 0 评论 -
自定义View:侧滑菜单实现
上篇博客咱们用动画实现了侧滑菜单,如果感兴趣可以通过传送门去看一下。今天咱们通过另一种方式实现侧滑菜单一、布局总布局<?xml version="1.0" encoding="utf-8"?><com.yushan.slidemenu.SlideMenu xmlns:android="http://schemas.android.com/apk/res/android" android:i原创 2017-04-28 11:06:22 · 607 阅读 · 0 评论 -
自定义View:侧滑菜单动画实现
侧滑菜单貌似从QQ5.0后就火了起来,道长感觉有些莫名其妙,但是想想产品经理那匮乏的想象力就知道原因了,大家都懂的~~~ 这里道长先用动画实现一遍侧滑菜单,然后再用SlideMenu实现一遍。道长废话就不说了,直接飞起……一、布局1.主界面布局这里道长重写了LinearLayout类用来拦截点击事件。public class MyLinearLayout extends LinearLayout原创 2017-04-28 07:57:21 · 1525 阅读 · 0 评论 -
属性动画:如何自定义View
道长今天说一下自定义View的实现,因为有很大一部分自定义View都带有动画,所以把自定义View放到属性动画里聊聊,let’s go……需求明确首先明确需求,根据需求创建布局,这里道长就自己定需求了: 1.拖动红色方块,红色沿着中心旋转并且颜色便为绿色,蓝色沿着Y轴旋转 2.拖动蓝色方块,红色沿着中心旋转并且颜色便为绿色,蓝色沿着Y轴旋转 3.拖动绿色方块,红色沿着中心旋转并且颜色便为绿色,原创 2017-04-26 18:08:08 · 639 阅读 · 0 评论 -
手机相机和相册:仿微信自定义相册
手机相册的展示能满足大部分需求,但是就是有那么些产品经理想搞事情。要仿照微信的自定义相册来做。没办法,产品的合理需求必须要满足。现在咱们开始搞……一、仿微信自定义相册界面原谅道长的无能,不能把做的Demo弄个动图上来,只能截图…… 相册的主界面: 图片的预览界面: 二、功能实现记住在清单文件中添加权限:<uses-permission android:name="android.permiss原创 2017-04-19 08:52:46 · 1083 阅读 · 0 评论 -
自定义View:自定义CircleImageView实现及图形渲染
在很多应用中头像是以圆形图片展示的,默认图片的话可以让UI切一套圆形的,但是用户设置头像的话不可能也让UI切。其实已经有很多前辈牛人已经写了成熟完善的工具类供程序猿使用。当然实现方式也多种多样。这里道长使用图形渲染实现CircleImageView,然后说一下图形渲染的一些知识。一、CircleImageView实现测量并设置控件宽高 @Override protected voi原创 2017-05-12 16:50:36 · 848 阅读 · 0 评论 -
属性动画:基本使用和组合动画
今天道长说一下属性动画。毕竟现在手机app上基本上都会有动画的存在,像一些界面的切换,加载等等。属性动画是在Android3.0引入的,在此之前,帧动画和补间动画一起雄霸天下,那时的动画还不怎么复杂和炫酷,直到属性动画的出现让一些疯狂的产品经理在app中大量的添加动画甚至组合动画的需求……一、三种动画帧动画(frame-by-frame animation):顾名思义就是将一个完整的动画拆分成一张张原创 2017-04-26 10:36:57 · 701 阅读 · 0 评论