android viewpager画廊,Android使用ViewPager实现画廊效果

按照国际惯例,先上效果图

8d85f0bfd173

其实这跟普通的ViewPager原理都一样,需要改变的地方就是:

1.增加滑进和滑出的动画效果

2.缩小ViewPager的大小,给屏幕上留出上一张和下一张视图的空间

布局文件:

xmlns:android="http://schemas.android.com/apk/res/android"

android:clipChildren="false"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/shareImg"

android:layout_width="match_parent"

android:layout_marginHorizontal="60dp"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:clipChildren="false"

android:layout_above="@+id/shareOptions"

/>

这里只贴出了需要用到的部分

注意viewpager自身和父布局都需要加上 android:clipChildren="false" 属性

网上大神解释为:在子View进行绘制时不裁切它们的显示范围

接下来是动画部分:

这里需要写个继承自ViewPager.PageTransformer的类,并重写transformPage方法

public class ScaleAlphaPageTransformerimplements ViewPager.PageTransformer{

public static final float MAX_SCALE =1.0f;

public static final float MIN_SCALE =0.8f;

public static final float MAX_ALPHA =1.0f;

public static final float MIN_ALPHA =0.7f;

private boolean alpha =true;

private boolean scale =true;

@Override

public void transformPage(View page,float position) {

if (position < -1) {

position = -1;

}else if (position >1) {

position =1;

}

float tempScale = position <0 ?1 + position :1 - position;

if(scale){

float slope = (MAX_SCALE -MIN_SCALE) /1;

//一个公式

float scaleValue =MIN_SCALE + tempScale * slope;

page.setScaleX(scaleValue);

page.setScaleY(scaleValue);

}

if(alpha){

//模糊

float alope = (MAX_ALPHA -MIN_ALPHA) /1;

float alphaValue =MIN_ALPHA + tempScale * alope;

page.setAlpha(alphaValue);

}

}

/***

* 设置是否模糊和改变大小

* @param alpha

* @param scale

*/

public void setType(boolean alpha,boolean scale){

this.alpha = alpha;

this.scale = scale;

}

}

最后就是调用了

ScaleAlphaPageTransformer scaleAlphaPageTransformer =new ScaleAlphaPageTransformer();

scaleAlphaPageTransformer.setType(true,true);

viewPager.setPageTransformer(true,scaleAlphaPageTransformer);

viewPager.setPageMargin(2);

viewPager.setOffscreenPageLimit(3);

ShareImgAdapter shareImgAdapter =new ShareImgAdapter(listOfImg);

viewPager.setAdapter(shareImgAdapter);

完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel 区间人数柱状图_Excel中,区间统计的3种技巧都不掌握,那就真的OUt了!

点击上方"Excel函数公式"免费订阅 Excel的最大功能在于数据的分析与处理&#xff0c;在数据分析和处理中&#xff0c;区间统计是非常广泛的&#xff0c;各位亲是怎么操作的呢&#xff1f;如果还不掌握&#xff0c;且看小编给大家带来的“区间统计”的3种应用技巧。一…

nova8pro能升级鸿蒙吗,华为将有48款产品可以升级到鸿蒙 2.0系统

网站Huawei Central最近报道称&#xff0c;将有48款产品可以升级到鸿蒙 2.0系统&#xff0c;包括华为及其子品牌Honor的智能手机&#xff0c;平板电脑和智能手表。 Huawei Central名单中有3款未发布的手机Huawei Nova 8和Nova 8 Pro&#xff0c;以及Honor V40。 它们将在推出时…

patran如何看屈曲因子_校准证书中的修正值、修正因子,你真的会用吗?

一些仪器设备校准回来会产生修正值/修正因子&#xff0c;然而很多实验室小伙伴们不懂得如何正确使用这些修正值/修正因子&#xff1f;为帮助广大实验室能规范正确地使用修正值/修正因子&#xff0c;小析姐 特为大家推送这篇文章~【概念】修正值&#xff1a;为修正某一测量器具的…

android 生成debug.keystore,android sdk 如何重新生成debug.keystore

1)首先你要确定你安装的JDK位置&#xff0c;Windows->Preferences->Java->Installed JREs,你可以看到是Jre的location,再在dos cmd模式下查看你当前系统的path是否已经包含了。如果没有包含添加到当前环境参数中。因为我们要用到的keytool命令在这个目录下呀。2)接下来…

已知a类被打包在packagea_2021考研干货:199管理类联考综合逻辑归纳习题(1)

199管理类联考综合中的逻辑&#xff0c;所占分值为60分。因此&#xff0c;备考2021考研199管综的考生们&#xff0c;需要在内容上面多下功夫复习。题目&#xff1a;小张夫妇想买套房子&#xff0c;经他一番挑选&#xff0c;目标锁定某座楼的3套房。已知&#xff1a;这三套房子中…

凯立德手机导航(家园版) v5.3 for android,凯立德手机导航(家园版)android平台

感谢您阅读凯立德手机导航产品下载安装教程&#xff0c;请根据以下步骤进行操作。下载安装过程完成后&#xff0c;您将体验到更为专业的凯立德导航服务。安装前请认真阅读以下文字&#xff1a;1、为了减少导航产品所占容量&#xff0c;本导航产品分主程序和地图数据两部分。下载…

clocks_per_sec 时间不正确_你该拥有的不只是护肤品,还有正确护肤时间表

同样是护肤&#xff0c;为什么你的效果始终不如意&#xff1f;其实&#xff0c;不同的时间段&#xff0c;皮肤各司其职&#xff0c;都有着不同的“任务”和“状态”。快跟芭姐一起了解一下这份《皮肤时间表》&#xff0c;看看如何让护肤效果事半功倍吧&#xff01;清洁是唤醒肌…

HTML下拉菜单怎么做成横向,css导航条横向带下拉菜单

cssdiv导航下拉二级菜单竖排效果如何改为横排&#xff1f;&#xff0c;在“下一站”有三个二级竖排菜单&#xff0c;如何能变为横排&#xff1f;困扰了我一天了&#xff0c;让二级菜单变成一行&#xff0c;只需要在竖排的效果上&#xff0c;让二级菜单都浮动起来&#xff0c;这…

html5折叠卡片,基于HTML5折叠卡片式下拉菜单代码

基于HTML5折叠卡片式下拉菜单代码。这是一款基于jQueryCSS3HTML5实现的下拉列表框特效代码。效果图如下&#xff1a;实现的代码。hmtl代码&#xff1a;爱编程爱编程 jQuery特效 CSS3特效 HTML5特效 音效下载 flash动画js代码&#xff1a;(function ($) {var cards $(.card-dro…

fastexcel读取excel追加写入sheet页_python笔记52:python操作excel

主要内容&#xff1a;小目标&#xff1a;掌握excel模块主要内容&#xff1a;excel相关模块&#xff0c;openpyxl安装使用如果看完这篇文章&#xff0c;你还是弄不明excel相关操作&#xff1b; 你来找我&#xff0c;我保证不打你&#xff0c;我给你发100的大红包。1. excel相关操…

HTML音乐播放没声音,网页没有声音但系统显示有声音怎么回事?如何解决?

网友提问&#xff1a;为什么网页没有声音&#xff0c;除了迅雷高清在线影院的视频有声音和本已经下载的歌或视频有声音外&#xff0c;其他网页都没有声音&#xff01;就是网页没声音&#xff0c;其他一切正常&#xff01;网页没有声音但系统显示有声音&#xff1b;网页在线视频…

cesium 经纬度绘制点_炫酷大屏地图自定义绘制(一)

现在数据中台的概念炒的火热&#xff0c;那在收集到数据后就要想办法去设计大屏&#xff0c;可视化展现。往往大屏都会涉及到地理位置的显示。对于常见的省市区&#xff0c;网上都已经提供了地理json数据&#xff0c;那对于需要定制化的我们要怎么处理呢&#xff1f;首先我们还…

html瞄点四大名著有图片,四大名著手抄报图片图和文字资料

四大名著之【三国演义】罗贯中(1330年一1400年之间)&#xff0c;名本&#xff0c;号湖海散人&#xff0c;明代通俗小说家。他的籍贯一说是太原(今山西)&#xff0c;一说是钱塘(今浙江杭州)&#xff0c;不可确考。据传说&#xff0c;罗贯中曾充任过元末农民起义军张士诚的幕客&a…

怎样查询2021高考模拟成绩,2021年高三一模二模三模哪个成绩更接近高考成绩,看看网友是怎么评论...

2021年高三一模二模三模哪个成绩更接近高考成绩虽然大多数人认为一模的成绩最接近高考&#xff0c;基本定型了&#xff0c;但高考变幻莫测&#xff0c;成绩很有可能发生变化&#xff0c;成绩升降都是很难说的。高三一模之后成绩也没有定型&#xff0c;还有最后逆转的机会。高考…

js遍历json数组给html td赋值,JS实现给json数组动态赋值的方法示例

关注微信公众号JS实现给json数组动态赋值的方法示例转载 更新时间&#xff1a;2017年07月04日 10:19:00 作者&#xff1a;小魏的马仔这篇文章主要介绍了JS实现给json数组动态赋值的方法,结合实例形式分析了javascript针对json数组的遍历、赋值等常用操作技巧,需要的朋友可以…

计算机科学与技术专业实习招聘,中科院研究生院招聘GIS或计算机专业实习生

中科院研究生院招聘GIS或计算机专业实习生由于项目需要&#xff0c;中科院研究生院特招聘GIS或计算机方向实习生&#xff0c;具体要求如下&#xff1a;项目名称&#xff1a;油气田WebGIS系统招聘人数&#xff1a;1人(目前已有1人)主要工作是根据油气田生产需要,实现WebGIS支持下…

html div如何列对其,CSS:自适应N列布局如何解决两端对齐

关于每行N列的这种布局&#xff0c;存在一个两端对齐的问题&#xff0c;因为每一列都会存在一个margin-left或者margin-right&#xff0c;导致最后一个超出父元素的边界。通过一番努力&#xff0c;终于解决了这个遗留很久的问题&#xff0c;废话不多说&#xff0c;先看做完之后…

v380智能快配连接不上怎么办_Win7系统电脑设置连接远程桌面的操作方法

Win7系统电脑远程桌面无法连接怎么办&#xff1f;Win7怎么设置连接远程桌面&#xff1f;请看下文具体操作步骤。一般情况下&#xff0c;对Win7的远程连接只需要5步即可完成远程连接的设置&#xff1a;1)查询并记录远程计算机的IP&#xff0c;开始——运行——输入cmd&#xff0…

计算机专业买win,新买的电脑是win10系统,有的人却费尽心思重装成win7,为什么呢...

简单地说&#xff0c;现在的新电脑几乎都是最新的windows系统&#xff0c;而厂商通常预装的是windows10家庭版&#xff0c;虽说没有多强的功能&#xff0c;但也能够满足我们日常使用的需求。重要的是预装的win10系统是正版的&#xff01;但不难发现&#xff0c;即便是正版的win…

wireshark网卡权限_网络分析系列之六_Wireshark安装

Wireshark对常见操作系统都支持安装&#xff0c;包括Windows系统、Mac OS X以及基于Linux的系统。你可以在Wireshark的官方网站上&#xff0c;查找所有 Wireshark支持安装的操作系统列表&#xff0c;以及系统版本和硬件要求信息。Wireshark安装系统支持和要求截止Wireshark版本…