真正的画廊,左右条目可点击居中,左右条目可滑动

栏目: IOS · Android · 发布时间: 6年前

内容简介:真正的画廊,左右条目可点击居中,左右条目可滑动

作者 | niezhiyang

地址 |  http://blog.csdn.net/qq_33408235/article/details/72650452

前言

最近公司做一个想 Gallery 一样的效果,于是想在网上找个现成的,但是怎么找也没找到,就是找到一个  鸿洋大神的巧用 ViewPager 打造不一样的广告轮播切换效果  http://blog.csdn.net/lmj623565791/article/details/51339751   的,但是左右条目不可点击,又不可以滑动,所以就做了个这个控件,本控件也是利用 ViewPgaer 做出来的。

效果

真正的画廊,左右条目可点击居中,左右条目可滑动

从图上可以看出, 两边的 item 可以被点击居中, 可以被滑动,也就是可以获得焦点。

原理

设置 PageTransformer

PageTransformer 大家估计都相当熟悉吧,下面是 PageTransformer 的代码

真正的画廊,左右条目可点击居中,左右条目可滑动

这个的作用就是让 Viewpager 展示多个条目,看下面的图片, 红色的才是 ViewPager 的大小,所以此 PageTransformer 是为了在 Viewpager 外面展示图片。

真正的画廊,左右条目可点击居中,左右条目可滑动

大家都知道 PageTransformer 没有真正的改变 viewpager 的状态,但是为什么本 demo 中两侧的图片可以点击还可以滑动呢,让我慢慢跟你道来

其实很简单,就是在 viewpage 的父控件中拦截 dispatchTouchEvent 的方法来控制ViewPgaer 的滑动和相应点击事件的(不懂 dispatchTouchEvent 即事件分发的, 问问度娘就可以了)

先看一下自定义 ViewPager

真正的画廊,左右条目可点击居中,左右条目可滑动

等会让 VIewPgaer 的父控件的 dispatchTouchEvent 实现此 ViewPager 的dispatchTouchEvent 就可以了 比如在 mainactivity 中找到父控件, 根据父控件的dispatchTouchEvent 来控制此 ViewPgaer 的变化。

真正的画廊,左右条目可点击居中,左右条目可滑动

控制两边图片的点击事件只响应居中图片, 不响应点击事件

在 viewpageradapter 中设置如下代码, 中间的图片永远是 mViewPager.getCurrentItem(),只有中间的图片可以响应点击事件。

真正的画廊,左右条目可点击居中,左右条目可滑动

Kotlin 编程

http://www.jianshu.com/c/00b33a9fab13

小生要请各位关注啦

真正的画廊,左右条目可点击居中,左右条目可滑动


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

妙趣横生的算法

妙趣横生的算法

杨峰 / 清华大学出版社 / 2010-4 / 49.00元

《妙趣横生的算法(C语言实现)》理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。全书分为2个部分共10章,内容涵盖了编程必备的基础知识(如数据结构、常用算法等),编程实例介绍,常见算法和数据结构面试题等。《妙趣横生的算法(C语言实现)》最大的特色在于实例丰富,题材新颖有趣,实用性强,理论寓于实践之中。通过《妙趣横生的算法(C语言实现)》的学......一起来看看 《妙趣横生的算法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具