使用css做轮播效果为啥最后一张图片显示不出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用css做轮播效果为啥最后一张图片显示不出来相关的知识,希望对你有一定的参考价值。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#container
width: 400px;
height: 300px;
overflow: hid\den;
#photo
width: 1200px;
animation: switch 5s ease-out infinite;
#photo > img
float: left;
width: 400px;
height: 300px;
@keyframes switch
0%, 25%
margin-left: 0;
35%, 60%
margin-left: -400px;
70%, 100%
margin-left: -800px;
</style>
</head>
<body>
<div id="container">
<div id="photo">
<img src="file:///C:/Users/ASUS/Desktop/%E5%B0%8F%E7%B1%B3%E5%AE%98%E7%BD%91/imgrs/%E7%94%B5%E8%A7%86.jpg">
<img src="file:///C:/Users/ASUS/Desktop/%E5%B0%8F%E7%B1%B3%E5%AE%98%E7%BD%91/imgrs/%E5%B9%B4%E8%B4%A7%E8%8A%82.jpg"/>
<img src="file:///C:/Users/ASUS/Desktop/%E5%B0%8F%E7%B1%B3%E5%AE%98%E7%BD%91/imgrs/%E6%89%8B%E6%9C%BA.jpg" />
</div>
</div>
</body>
</html>
.
viewpager轮播的时候,当从最后一张图片轮播到第一张的时候,会把前面轮播过的都显示一遍啊
不想要这个效果,想最后一张到第一张跳转的时候,也和别的效果一样,怎么做啊
参考技术A很简单,只需要将viewPager的滑动速度设置成0即可。
通过反射机制,修改viewPager的属性
以下是我封装好的一个类
public class ViewPagerScroller extends Scrollerprivate int mScrollDuration = 2000; // 滑动速度
/**
* 设置速度速度
* @param duration
*/
public void setScrollDuration(int duration)
this.mScrollDuration = duration;
public ViewPagerScroller(Context context)
super(context);
public ViewPagerScroller(Context context, Interpolator interpolator)
super(context, interpolator);
public ViewPagerScroller(Context context, Interpolator interpolator, boolean flywheel)
super(context, interpolator, flywheel);
@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration)
super.startScroll(startX, startY, dx, dy, mScrollDuration);
@Override
public void startScroll(int startX, int startY, int dx, int dy)
super.startScroll(startX, startY, dx, dy, mScrollDuration);
public void initViewPagerScroll(ViewPager viewPager)
try
Field mScroller = ViewPager.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
mScroller.set(viewPager, this);
catch(Exception e)
e.printStackTrace();
使用方法:
ViewPagerScroller viewPagerScroller = new ViewPagerScroller(context);
viewPagerScroller.initViewPagerScroll(viewPager); //初始货ViewPager时,反射修改滑动速度
以上是关于使用css做轮播效果为啥最后一张图片显示不出来的主要内容,如果未能解决你的问题,请参考以下文章
viewpager轮播的时候,当从最后一张图片轮播到第一张的时候,会把前面轮播过的都显示一遍啊