
自定义view
文章平均质量分 66
mockingbirds
这个作者很懒,什么都没留下…
展开
-
android自定义ListPreference字体大小
这篇博客算是自己的一个记录吧,组长给了一个任务,需要实现一个紧急广播的一系列设置功能,但是客户那边设置界面的字体大小有特殊的要求,看了一下,对于ListPreference这样的控件,android系统没有提供直接的属性来设置,只好自己重写一个了.自定义属性<?xml version="1.0" encoding="utf-8"?><resources> <attr name="titl原创 2016-02-19 22:20:36 · 3776 阅读 · 0 评论 -
自定义ViewGroup神器ViewDragHelper
ViewDragHelper一般用在一个自定义ViewGroup的内部,用来处理子View的拖拽和滑动处理水平滑动下面我们创建一个SimpleLayout继承自LinearLayoutpublic class SimpleLayout extends LinearLayout { private static final String TAG = "SimpleLayoutTest";原创 2017-01-09 22:05:10 · 960 阅读 · 0 评论 -
android自定义view(实现时钟显示)
今天闲来没事,自己实现了一个android自定义view(实现时钟显示)的功能,先看下效果: 这里为了方便,一些自定义的属性,我就没有使用,都是在代码里面写的,算是一个记录。public class PathView extends View { private Path mPath = null; private Paint mPaint = null; private st原创 2016-10-05 12:54:49 · 2298 阅读 · 3 评论 -
android自定义布局
很早之前实现了一个很简单的自定义布局,即继承自现有的布局,来实现自己功能的一些扩展,虽然比较简单,但是也很具有代表性,所以就记录下来吧先看下效果吧: 可以看到,这个效果类似于注册登录的文本框,只不过这里我使用了一个布局将多个android提供的原生控件封装起来了自定义布局的步骤:编写自定义布局的布局文件继承自现有的布局,或者ViewGroup在xml中使用该布局编写布局文件activ原创 2016-03-08 20:26:42 · 1097 阅读 · 0 评论 -
android实现自定义进度条
好久都么有更新博客了,今天给大家带来一片自定义防”最右”进度条的demo,先看下效果: 自定义属性首先在res/values文件夹下新建一个attrs.xml文件,内容如下:<?xml version="1.0" encoding="utf-8"?><resources> <attr name="circle_radius" format="dimension" /> <attr原创 2015-10-27 21:47:45 · 1267 阅读 · 0 评论 -
android自定义圆形图像
这篇博客给大家带来使用xfermode实现圆形图像。先看效果: 这里说下原理,先看下图: 这里src和dst分别表示不同的bitmap,上面的图片有16种类型,分别表示不同情况下的交集,这里我们需要使用的是两个交集部分,试想一下,我们先绘制一个圆,然后绘制一个图片,此时如果圆的大小小于图片的大小,那么图片的交集就是该圆形了,此时使用SrcIn或者DstIn这两种模式就可以过滤出原创 2015-10-27 22:38:34 · 1855 阅读 · 0 评论 -
android实现画板功能
上一篇博客实现了android自定义圆形图像这篇博客给大家实现基于xfermode的遮罩层画板功能。首先我会先实现一个简单的画板功能。实现简单的画板功能这里我们的画板是全屏实现的,所以先写一个工具类ScreenUtil来获得屏幕的宽和高的值。 ScreenUtil.javapublic static int[] getScreenSize(Context context) { in原创 2015-10-27 23:36:00 · 3287 阅读 · 0 评论 -
android自定义view实现字体变色
上次看了鸿洋的博客,其中有一篇博客实现的是字体逐渐变色的效果,不过其使用的是clipRect实现的,今天给大家带来另一种实现方式,通过XferMode来实现。先看效果吧。 先说下实现原理:我们首先绘制当前显示的文本内容,然后设置xfermode的值为PorterDuff.Mode.SRC_IN,然后子啊绘制一个和我们当前view高度相同,并且宽度不断增大的绿色矩形。废话不多说,下面看具体实现:自定原创 2015-10-28 00:16:40 · 2128 阅读 · 0 评论 -
android自定义view实现"偷窥"图片
今天实现了利用自定义view实现了一个查看被遮盖的图片功能,不过是通过”偷窥”这种行为实现的,其实这种功能我也不知道怎么命名,就暂且叫他”偷窥”图片,先看下效果吧: ok,其实该功能和刮刮卡的原理是一样的,只不过刮刮卡对于上层的覆盖层只绘制了一次,所以每次擦除部分是不会恢复的,而对于该实例,上面的图层是每次重绘的时候都会重新绘制的,下实现该功能的原理:实现思路首先将准备好的图片缩放至和屏幕大小相原创 2015-10-29 22:12:46 · 1733 阅读 · 0 评论 -
android自定义view实现水平进度条
今天利用android自定义view实现了一个带有标识当前进度的水平进度条,先看效果: 实现原理view的测量这里我先说下实现该view效果的原理,由于该view是一个不规则的view,所以我们需要自己计算器宽度和高度,看下面的图: 这里我出于简单期间,默认让上面矩形的高度是其宽度的一半,等边三角形的边长也是该矩形的一半,所以到这里我们计算该view高度和宽度如下:高度=mProHeight原创 2015-10-30 22:53:31 · 6532 阅读 · 1 评论 -
android自定义加载动画
今天研究了一下android-shapeLoadingView,的源码,发现其关于view的绘制实现起来比较复杂,就自己写了一个简化版,主要用到的是属性动画,先看效果: 先说下实现思路,上面不断变化形状的view是一个自定义的LoadingView每次不断变换重新绘制新的形状,整个效果是一个自定义的layout,加载了一个布局,在该布局当中引入了LoadingView,底部的阴影是一个image,原创 2015-11-04 21:48:48 · 4383 阅读 · 0 评论 -
Android防360水波进度
今天使用自定义view实现类似于360的水波进度提示的功能,效果如下: 实现原理实现该效果主要用到了使用path绘制正弦波,以及xfermode知识点。可以首先绘制一个实心圆,然后设置xfermode为SRC_ATOP。path快速学习我们先来简单看一下path的基本用法,path可以绘制任何我们想要的图形。mPath = new Path();mPath.lineTo(100,100);ca原创 2015-11-13 00:39:05 · 2535 阅读 · 2 评论 -
android之WindowManager学习
WindowManager主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等,可以通过为WindowManager的静态属性LayoutParams设置相关啊参数来管理当前显示的View的特性。WindowManager学习WindowManager常用方法一般来说WindowManager常用的方法有如下一些:// 添加显示一个viewpublic void原创 2016-02-08 20:58:31 · 2067 阅读 · 0 评论 -
android实现防美拍点赞效果
在最新的美拍增加了一个直播功能,看了一下其点赞的效果还是很酷炫的,就自己实现了一个类似的,效果如下: 先说下实现该效果需要用到的知识点:属性动画,这里只是用到了基本的属性动画,对于属性动画的详细介绍,可以参考郭大神的博客: Android属性动画完全解析(上),初识属性动画的基本用法 Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高原创 2016-02-14 18:55:09 · 3032 阅读 · 0 评论 -
自定义ViewGroup之TagLayout
今天抽空写了一个标签布局,这里为了简单起见,我忽略了onMeasure方法,默认使用屏幕宽度和计算出来的高度作为当前TagLayout的宽度和高度,今天不想写太多话,所以直接上代码了流式布局简单实现创建TagLayoutpublic class TagLayout extends ViewGroup { private int mScreenWidth; public TagLayou原创 2017-01-14 22:38:34 · 842 阅读 · 0 评论