前段时间使用了即刻App,被里面的风格所吸引,尤其是顶部的图片滚动,感觉挺有意思的,于是乎上网搜索了下,发现有人仿着做了一个,于是乎github上下载来看了看。记录下研究的过程。

  这是效果图

 

 首先梳理下思路,首先这是一个自定义的控件,在加载的时候先从网络中加载两张图片作为轮播用,接着在点击刷新按钮的时候触发事件改变两张图片的margintop值.并且改变覆盖在第一张图片之上的view透明度。

下面看下主要的执行过程

加载时

点击刷新按钮以后:

 先了解下需要掌握的知识:

1、

requestLayout():

requestLayout:当layoutparm是发生变化的时候,该view本身调用这个方法要求parent view重新调用他的onMeasure onLayout来对重新设置自己位置。

measure:测量控件的大小
onLayout:根据测量的大小摆放控件

实现步骤:

1、定义一个继承viewgroup的抽象类

SmoothViewGroup :{ 实现一个startSmooth 方法 用来执行点击刷新后的动作,该方法中实例一个ValueAnimator对象,参数图片的高度和0;并设置addUpdateListener,在高度变化的过程中不断的执行doAnim
抽象doAnimFinish 和doAnim方法用于变化透明度和动画结束后的图片加载
}

2、在Gallery类中继承SmoothViewGroup 并实现doAnimFinish和doAnim方法,其中
doAnim方法执行改变隐藏view的透明度和requestLayout();方法重新绘制,接着实现
onLayout方法,该方法中主要改变第一张图片的和第二张图片的marginTop 和marginBottom的值(这里的marginBottom是相对于于父view的Bottom位置)。
doAnimFinish中加载两张图片并改变遮盖view的透明度.
)

ps:以上为个人研究他人代码所得出的总结。




 

转载于:https://www.cnblogs.com/Conker/p/6497559.html

自定义View - 仿即刻轮播相关推荐

  1. 仿百度壁纸客户端(二)——主页自定义ViewPager广告定时轮播图

    仿百度壁纸客户端(二)--主页自定义ViewPager广告定时轮播图 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Fragment 仿百度壁纸客户端( ...

  2. Android仿支付宝UI功能开发,Android 自定义view仿支付宝咻一咻功能

    支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能. 效果如下所示: 思路: 就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画 还有就是这是好几 ...

  3. 自定义View | 仿QQ运动步数进度效果

    项目GitHub地址 思路 固定不动的蓝色大圆弧 动画变动的红色小圆弧 中间的步数文字显示 相关的自定义属性 比如固定不动的大圆弧, 我们不能写死他的蓝色颜色属性, 要提供一个颜色的自定义属性给用户自 ...

  4. 第65天:仿网易轮播图

    仿网易轮播图 1.HTML部分 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta ...

  5. android 高仿 探探卡片滑动,Android自定义View仿探探卡片滑动效果

    Android自定义View仿探探卡片滑动这种效果网上有很多人已经讲解了实现思路,大多都用的是RecyclerView来实现的,但是我们今天来换一种实现思路,只用一个自定义的ViewGroup来搞定这 ...

  6. android wear支付宝6,Android自定义View仿支付宝输入六位密码功能

    跟选择银行卡界面类似,也是用一个PopupWindow,不过输入密码界面是一个自定义view,当输入六位密码完成后用回调在Activity中获取到输入的密码并以Toast显示密码.效果图如下: 自定义 ...

  7. android的动态tab,Android自定义view仿QQ的Tab按钮动画效果(示例代码)

    话不多说 先上效果图 实现其实很简单,先用两张图 一张是背景的图,一张是笑脸的图片,笑脸的图片是白色,可能看不出来.实现思路:主要是再触摸view的时候同时移动这两个图片,但是移动的距离不一样,造成的 ...

  8. 自定义view 仿qq步数 半圆弧

    先看效果图: 自定义属性 <declare-styleable name="QQSteps"><attr name="roundWidth" ...

  9. kotlin实现的简单个人账户管理APP(三) 自定义View仿支付宝的密码输入框/密码相关逻辑

    转载请注明出处:http://blog.csdn.net/a512337862/article/details/78874322 前言 1.本篇博客相关的项目介绍请参考基于kotlin实现的简单个人账 ...

  10. 自定义view仿写今日头条点赞动画

    前言 平时喜欢看今日头条,上面的财经.科技和NBA栏目都很喜欢,无意中发现他的点赞动画还不错,一下子就吸引到了我.遂即想要不自己实现一下. 最终效果对比如下: 头条: 仿写效果: 一.导读 学习的过程 ...

最新文章

  1. 连续按back键盘退出自己的应用,杀掉进程
  2. mysql存储过程是什么
  3. POJ-3070 Fibonacci 快速矩阵幂
  4. C++之类模板最简单的使用
  5. 60分钟快速入门PyTorch
  6. Communications link failure,The last packet successfully received from the serve
  7. 好程序员Java教程分享使用HttpClient抓取页面内容
  8. 随机出题在线考试系统php_随机出题在线考试系统
  9. 大牛直播SDK-Windows RTMP/RTSP/本地FLV播放器使用说明
  10. Origin8画图:画百分比堆积柱形图
  11. 计算机改硬盘格式,预装win10改win7硬盘格式怎么改_win10改win7分区格式如何转换...
  12. Java四大元注解介绍
  13. MICRO‘21文章挑选(感兴趣)
  14. zMUD里的颜色触发
  15. SQL 2008函数大全
  16. 怎么把一张暗的照片调亮_PS怎么把一张暗的图调亮,就局部
  17. 到站提醒APP应用 隐私声明
  18. 前端要失业了么,sketch-code让草图秒变HTML
  19. JMS介绍:我对JMS的理解和认识
  20. 幸运数字II(二进制问题)

热门文章

  1. vue数据大屏使用数字字体
  2. studio one 3 机架声道设置_客所思声卡搭载机架跳线教程
  3. openfire-好友管理实现好友添加及分组管理
  4. 2014年3月至2014年6月阅读记录(共64项)
  5. 标签打印软件中标签间距以及边距如何设置
  6. python求解二次规划问题
  7. CNN网络:MINST数据集的练习
  8. 基于tuns的DNS隧道研究
  9. python拟合直线的斜率_线性曲线拟合总是得到斜率和y的中间值为1
  10. npp夜光数据介绍 viirs_基于NPP-VIIRS夜间灯光数据的南宁市GDP空间化研究