自定义控件
Ricardo.M.Jiang
这个作者很懒,什么都没留下…
展开
-
Android之SurfaceView
SurfaceView也是继承了View,但是我们并不需要去实现它的draw方法来绘制自己,为什么呢? 因为它和View有一个很大的区别,View在UI线程去更新自己;而SurfaceView则在一个子线程中去更新自己;这也显示出了它的优势,当制作游戏等需要不断刷新View时,因为是在子线程,避免了对UI线程的阻塞。 知道了优势以后,你会想那么不使用draw方法,哪来的canvas使用呢? 大转载 2016-05-24 14:56:54 · 2055 阅读 · 0 评论 -
Android仿微信界面
效果图原理介绍1、先绘制一个颜色(例如:粉红) 2、设置Mode=DST_IN 3、绘制我们这个可爱的小机器人 回答我,显示什么,是不是显示交集,交集是什么?交集是我们的小机器人的非透明区域,也就是那张脸,除了两个眼; 好了,那怎么变色呢? 我绘制一个颜色的时候,难道不能设置alpha么自定义图标控件自定义属性<?xml version="1.0" encoding="utf-8"?>转载 2016-05-23 16:57:52 · 3866 阅读 · 0 评论 -
Android实现圆形圆角图片
本文主要使用两种方法实现图形圆角图片自定View加上使用Xfermode实现Shader实现 自定View加上使用Xfermode实现/** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return */ private Bitmap createC转载 2016-05-23 10:53:11 · 1826 阅读 · 0 评论 -
Android拼图游戏
效果如下游戏的设计首先我们分析下如何设计这款游戏: 1、我们需要一个容器,可以放这些图片的块块,为了方便,我们准备使用RelativeLayout配合addRule实现 2、每个图片的块块,我们准备使用ImageView 3、点击交换,我们准备使用传统的TranslationAnimation来实现 游戏布局的实现首先,我们准备实现能够把一张图片,切成n*n份,放在指定的位置; 我转载 2016-05-21 21:42:04 · 1972 阅读 · 0 评论 -
自定义view实现水波纹效果
水波纹效果:1.标准正余弦水波纹; 2.非标准圆形液柱水波纹; 虽说都是水波纹,但两者在实现上差异是比较大的,一个通过正余弦函数模拟水波纹效果,另外一个会运用到图像的混合模式(PorterDuffXfermode);先看效果:自定义View根据实际情况可以选择继承自View、TextView、ImageView或其他 这次的实现我们都选择继承view,在实现的过程中我们需要关注如下几个方法:转载 2016-05-21 19:39:25 · 2116 阅读 · 0 评论 -
RecyclerView拖拽排序和滑动删除实现
效果图如何实现那么是如何实现的呢?主要就要使用到ItemTouchHelper ,ItemTouchHelper 一个帮助开发人员处理拖拽和滑动删除的实现类,它能够让你非常容易实现侧滑删除、拖拽的功能。实现的代码非常简单我们只需要两步:实例化一个ItemTouchHelper 关联到RecyclerView 恩,就是这么简单。构造方法中需要一个ItemTouchHelper.Cal转载 2016-05-19 12:46:59 · 2180 阅读 · 0 评论 -
Android实现支持缩放平移图片
本文主要用到了以下知识点MatrixGestureDetector 能够捕捉到长按、双击ScaleGestureDetector 用于检测缩放的手势自由的缩放需求:当图片加载时,将图片在屏幕中居中;图片宽或高大于屏幕的,缩小至屏幕大小;自由对图片进行方法或缩小;package com.zhy.view; import android.content.Context; import an转载 2016-05-18 19:39:59 · 4230 阅读 · 0 评论 -
Android自定义实现FlowLayout
实现FlowLayout何为FlowLayout,如果对Java的Swing比较熟悉的话一定不会陌生,就是控件根据ViewGroup的宽,自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行。有点所有的控件都往左飘的感觉,第一行满了,往第二行飘~所以也叫流式布局。Android并没有提供流式布局,但是某些场合中,流式布局还是非常适合使用的,比如关键字标签,搜索热词列表等,比如下图:简单的分析1转载 2016-05-18 14:34:32 · 1024 阅读 · 0 评论 -
Android中mesure过程详解
我们在编写layout的xml文件时会碰到layout_width和layout_height两个属性,对于这两个属性我们有三种选择:赋值成具体的数值,match_parent或者wrap_content,而measure过程就是用来处理match_parent或者wrap_content,假如layout中规定所有View的layout_width和layout_height必须赋值成具体的数值,原创 2016-05-18 10:21:08 · 968 阅读 · 0 评论 -
Animation & Property Animation 使用
本篇主要讲Animation 和 Property Animation的使用,最后会讲QQ管家桌面火箭作为例子:在Android中开发动效有两套框架可以使用,分别为 Animation 和 Property Animation;相对来说,Animator比Animation要强大太多,两者之间的主要区别在于:区别一:需要的Anroid API level不一样 Property Animatio原创 2016-05-17 17:40:27 · 6700 阅读 · 0 评论 -
自定义viewgroup实现ArcMenu
最终效果如下实现思路通过效果图,会有几个问题: a、动画效果如何实现 可以看出动画是从顶点外外发射的,可能有人说,那还不简单,默认元素都在定点位置,然后TraslateAnimation就好了;这样忽略了一点,就是TraslateAnimation虽然有动画效果,但是本质是不会改变按钮的位置,我们的按钮动画结束是要点击的;有人可能会说那使用属性动画,或者改变leftMagin,rightMagi转载 2016-05-17 14:23:38 · 1059 阅读 · 0 评论 -
一个绚丽的loading动效分析与实现!
最终效果如下从效果上看,我们需要考虑以下几个问题: 1.叶子的随机产生; 2.叶子随着一条正余弦曲线移动; 3.叶子在移动的时候旋转,旋转方向随机,正时针或逆时针; 4.叶子遇到进度条,似乎是融合进入; 5.叶子不能超出最左边的弧角; 7.叶子飘出时的角度不是一致,走的曲线的振幅也有差别,否则太有规律性,缺乏美感; 总的看起来,需要注意和麻烦的地方主要是转载 2016-05-17 09:34:47 · 3752 阅读 · 0 评论 -
Android手势锁实现
最终效果如下整体思路a、自定义了一个RelativeLayout(GestureLockViewGroup)在里面会根据传入的每行的个数,生成多个GestureLockView(就是上面一个个小圈圈),然后会自动进行布局,里面的宽度,间距,内圆的直径,箭头的大小神马的都是百分比实现的,所以大胆的设置你喜欢的个数,只要你没有密集恐惧症~b、GestureLockView有三个状态,没有手指触碰、手指触转载 2016-05-16 13:41:03 · 1944 阅读 · 0 评论 -
Andoird自定义ViewGroup实现竖向引导界面
一般进入APP都有欢迎界面,基本都是水平滚动的,今天和大家分享一个垂直滚动的例子。 先来看看效果把:首先是布局文件:<com.example.verticallinearlayout.VerticalLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc转载 2016-05-15 20:50:33 · 783 阅读 · 0 评论 -
豆瓣加载动画实现
最终效果如下ValueAnimator类API 简介ofFloat(float… values) 构建ValueAnimator,设置动画的浮点值,需要设置2个以上的值setDuration(long duration) 设置动画时长,默认的持续时间为300毫秒。setInterpolator(TimeInterpolator value) 设置动画的线性非线性运动,默认A原创 2016-05-28 11:04:38 · 1352 阅读 · 0 评论 -
ListView滑动删除效果实现
通过继承ListView然后结合PopupWindow实现首先是布局文件: delete_btn.xml:这里只需要一个Button<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout转载 2016-05-15 11:43:59 · 1526 阅读 · 0 评论 -
Android自定义progressBar
通过继承系统ProgressBar实现效果图实现HorizontalProgressBarWithNumber自定义属性<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="HorizontalProgressBarWithNumber"> <attr name="progress转载 2016-05-26 09:28:58 · 1607 阅读 · 0 评论 -
Android实现边缘凹凸的View
转载最近做项目的时候遇到一个卡劵的效果,由于自己觉得用图片来做的话可以会出现适配效果不好,再加上自己自定义view方面的知识比较薄弱,所以想试试用自定义View来实现。但是由于自己知识点薄弱,一开始居然想着用画矩形来设置边缘实现,后面一个哥们指导了我,在这里感谢他。 实现分析上面的图片其实和普通的Linearlayout,RelativeLayout一样,只是上下两边多了类似于半圆锯齿的形状。那么只转载 2016-05-21 10:37:03 · 3719 阅读 · 0 评论