package com.example.testautoscrollviewpager;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import java.util.ArrayList;
import java.util.List;
import cn.trinea.android.view.autoscrollviewpager.AutoScrollViewPager;
public class MainActivity extends Activity {
private AutoScrollViewPager auto_view_pager;
private List<ImageView> images;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auto_view_pager = (AutoScrollViewPager) findViewById(R.id.auto_view_pager);
//添加图片的集合
images = new ArrayList<>();
ImageView imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(R.drawable.pic11);
images.add(imageView);
imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(R.drawable.pic22);
images.add(imageView);
imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(R.drawable.pic33);
images.add(imageView);
imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(R.drawable.pic44);
images.add(imageView);
auto_view_pager.setAdapter(new MyAdapter());
//设置延时时间
auto_view_pager.setInterval(2000);
//设置轮播的方向 AutoScrollViewPager.RIGHT/AutoScrollViewPager.LEFT
auto_view_pager.setDirection(AutoScrollViewPager.RIGHT);
//设置是否自动循环轮播,默认为true
//注意:一旦设为true,则不能和ViewPagerIndicator一起使用
auto_view_pager.setCycle(true);
//设置切换动画的时长
auto_view_pager.setScrollDurationFactor(10);
//设置当滑动到最后一个或者第一个时,如何切换下一张
/**
* SLIDE_BORDER_MODE_NONE:不能再滑动
* SLIDE_BORDER_MODE_TO_PARENT:移动父视图的Pager
* SLIDE_BORDER_MODE_CYCLE:循环
* 默认为SLIDE_BORDER_MODE_NONE
*/
auto_view_pager.setSlideBorderMode(AutoScrollViewPager.SLIDE_BORDER_MODE_CYCLE);
//当滑动到最后一张或第一张时是否开启动画,默认为true
auto_view_pager.setBorderAnimation(true);
//当触摸的时候,停止轮播
auto_view_pager.setStopScrollWhenTouch(true);
auto_view_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
Log.e("TAG", "position" + position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
//解决最后一个跳转到第一个闪动问题
auto_view_pager.setCurrentItem((Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2 % images.size()));
}
@Override
protected void onResume() {
super.onResume();
//开启自动轮播,延时时间为getInterval()
auto_view_pager.startAutoScroll();
//开启自动轮播,并设置延时
// auto_view_pager.startAutoScroll(delayTime);
}
@Override
protected void onPause() {
super.onPause();
//停止轮播
auto_view_pager.stopAutoScroll();
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(images.get(position % images.size()));
return images.get(position % images.size());
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
自动轮播条(基于android-auto-scroll-view-pager-master)
共22个文件
xml:7个
png:5个
jpg:4个
需积分: 9 25 下载量 159 浏览量
2016-04-05
00:15:30
上传
评论
收藏 149KB ZIP 举报
温馨提示
基于android-auto-scroll-view-pager-master类库,写的一个自动轮播条的小demo
资源推荐
资源详情
资源评论
收起资源包目录
testautoscrollviewpager.zip (22个子文件)
testautoscrollviewpager
proguard-rules.pro 682B
src
test
java
com
example
testautoscrollviewpager
ExampleUnitTest.java 342B
androidTest
java
com
example
testautoscrollviewpager
ApplicationTest.java 378B
main
res
mipmap-xxxhdpi
ic_launcher.png 10KB
drawable-hdpi
pic44.jpg 16KB
pic33.jpg 14KB
pic22.jpg 41KB
pic11.jpg 36KB
drawable
mipmap-hdpi
ic_launcher.png 3KB
values
colors.xml 214B
strings.xml 89B
styles.xml 394B
dimens.xml 216B
mipmap-xxhdpi
ic_launcher.png 8KB
mipmap-mdpi
ic_launcher.png 2KB
mipmap-xhdpi
ic_launcher.png 5KB
layout
activity_main.xml 472B
values-w820dp
dimens.xml 364B
java
com
example
testautoscrollviewpager
MainActivity.java 5KB
AndroidManifest.xml 696B
.gitignore 8B
build.gradle 806B
libs
共 22 条
- 1
资源评论
benhuo931115
- 粉丝: 412
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功