关闭

ViewPage + Fragment 图片滑动和自动滚动

标签: ViewPage + Fragment
1065人阅读 评论(0) 收藏 举报
分类:

ViewPage + Fragment  我们可以通过手势让图片滑动,那么如何让图片自动的滚动呢,首先看下效果图。


上面有3张图,每隔5000毫秒就会自动的切换图片。


主要实现代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.example.viewpagedemo.AutoScrollViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="150dp"/>

</RelativeLayout>

package com.example.viewpagedemo;

import java.util.ArrayList;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class HomeFragment extends Fragment implements OnPageChangeListener{
	private AutoScrollViewPager viewPager;
	private ArrayList<Integer> imageIdList;
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle bundle) {
		View view = inflater.inflate(R.layout.fragment_home, null);
		viewPager = (AutoScrollViewPager) view.findViewById(R.id.pager);
		imageIdList = new ArrayList<Integer>();
        imageIdList.add(R.drawable.pm_scroll_image1);
        imageIdList.add(R.drawable.pm_scroll_image2);
        imageIdList.add(R.drawable.pm_scroll_image3);
		viewPager.setAdapter((new ImagePagerAdapter(getActivity(), imageIdList).setInfiniteLoop(true)));
		viewPager.setOnPageChangeListener(this);
		viewPager.setInterval(5000);
	    viewPager.startAutoScroll();
		viewPager.setCurrentItem(Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2 % imageIdList.size());
		return view;
	}
	
	
	@Override
	public void onPause() {
		viewPager.stopAutoScroll();
		super.onPause();
	}


	@Override
	public void onResume() {
		viewPager.startAutoScroll();
		super.onResume();
	}


	@Override
	public void onPageScrollStateChanged(int state) {
	}
	@Override
	public void onPageScrolled(int arg0, float arg1, int arg2) {
		
	}
	@Override
	public void onPageSelected(int arg0) {
		
	}
}

具体请参考我的上传的资源Demo,如果有更好的方法,希望大家分享下。

资源下载地址:http://download.csdn.net/detail/barryyanggoing/9287477

参考Demo地址:https://github.com/Trinea/android-demo

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:51206次
    • 积分:799
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:19篇
    • 译文:0篇
    • 评论:2条
    文章分类