自动轮播的ViewPage(开源项目)

来源:互联网 发布:百度彩票数据接口 编辑:程序博客网 时间:2024/04/30 02:06

    现在市场上面有很多要使用到类似情景的App, 所以自己就将它整合起来。


    这个是效果图


package com.android.caij.autoslideviewpagerdemo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import com.android.caij.autoslideviewpager.AutoSlideViewPageAdapter;import com.android.caij.autoslideviewpager.AutoSlideViewPager;public class MainActivity extends Activity {private int[] ids = new int[]{R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6};private final String[] imageDescriptions = {"hello github developer one","hello github developer two","hello github developer three","hello github developer four","hello github developer five","hello github developer six"};private AutoSlideViewPager viewPager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewPager = (AutoSlideViewPager) findViewById(R.id.view_pager);viewPager.setAdapter(new MyAdapter());viewPager.setIntervalTime(3000); //设置每隔轮播的间隔时间viewPager.setAutoScrollDurationFactor(8);  //设置轮播图片的滑动速度(结果是原来的速度/8)viewPager.setSwipeScrollDurationFactor(5); //设置手指滑动后图片的滑动速度  更多设置请看github详细介绍//viewPager.startSlide();}@Overrideprotected void onPause() {super.onPause();viewPager.stopSlide(); //停止轮播}@Overrideprotected void onResume() {super.onResume();viewPager.startSlide(); //开始轮播}private class MyAdapter extends AutoSlideViewPageAdapter{@Overridepublic int getPageCount() {return ids.length;}@Overridepublic View instantiatePageItem(int position) {ImageView image = new ImageView(MainActivity.this);image.setBackgroundResource(ids[position]);return image;}@Overridepublic CharSequence getCurrentPageTitle(int position) {return imageDescriptions[position];}}}


   其中的轮播原理就是handler循环发送消息, 还有一些细节的处理就是手指触碰屏幕时就将消息停止, 还有就是可以控制图片的滑动速度。源代码可以去github上面看看。 有什么不足请多多指教。


    github 地址点击进入github地址

0 0
原创粉丝点击