ViewPager无线轮播

来源:互联网 发布:raft 算法 三副本 编辑:程序博客网 时间:2023/12/10 21:59
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="fill_parent"        android:layout_height="fill_parent" >    </android.support.v4.view.ViewPager></RelativeLayout>

//mainActivity

package com.example.day13_viewpager;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

public class MainActivity extends Activity {

String[] paths = new String[] {        "http://img1.3lian.com/2015/w7/98/d/22.jpg",        "http://img1.3lian.com/2015/w7/98/d/1.jpg",        "http://img1.3lian.com/2015/w7/98/d/2.jpg",        "http://img1.3lian.com/2015/w7/98/d/3.jpg",        "http://img1.3lian.com/2015/w7/98/d/4.jpg",        "http://img1.3lian.com/2015/w7/98/d/21.jpg", };Handler handler=new Handler(){    public void handleMessage(android.os.Message msg) {        //得到当前的位置        int currentItem = viewPager.getCurrentItem();        viewPager.setCurrentItem(currentItem+=1);        //继续发送,轮播        handler.sendEmptyMessageDelayed(2, 2000);    };};private ViewPager viewPager;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    viewPager = (ViewPager) findViewById(R.id.viewPager);    viewPager.setAdapter(new MyPagerAdapter(this,paths));    //设置viewpager当前显示的条目(默认显示的条目)    viewPager.setCurrentItem(Integer.MAX_VALUE/2 - Integer.MAX_VALUE/2%paths.length );    handler.sendEmptyMessageDelayed(2, 2000);}

}

//适配器

package com.example.day13_viewpager;

import com.lidroid.xutils.BitmapUtils;

import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager.LayoutParams;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class MyPagerAdapter extends PagerAdapter {

Context context;String[] paths;private BitmapUtils bitmapUtils;public MyPagerAdapter(Context context, String[] paths) {    this.context = context;    this.paths = paths;    // 得到bitmapUtils对象    bitmapUtils = new BitmapUtils(context);}@Overridepublic int getCount() {    return Integer.MAX_VALUE;}@Override// 实例化条目public Object instantiateItem(ViewGroup container, int position) {    // 得到图片的网络地址    String path =     paths[position%paths.length];    // 得到imageView对象    ImageView imageView = new ImageView(context);    // 得到布局参数对象    LayoutParams layoutParams = new LayoutParams();    // 设置高为填充父窗体    layoutParams.height = LayoutParams.FILL_PARENT;    // 设置宽为填充父窗体    layoutParams.width = LayoutParams.FILL_PARENT;    // 设置imageView的参数    imageView.setLayoutParams(layoutParams);    // 参数一:显示图片的容器    // 参数二:图片路径    bitmapUtils.display(imageView, path);    container.addView(imageView);    return imageView;}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {    return arg0 == arg1;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {    // TODO Auto-generated method stub    // super.destroyItem(container, position, object);    container.removeView((View) object);}

}

0 0
原创粉丝点击