安卓:ViewPager图片轮播(法2)

一。

自动轮播:

逻辑代码文件:

<span style="font-size:18px;">package com.example.day20_viewpage2;

import java.util.ArrayList;
import java.util.List;

import com.example.day20_viewpage2.MainActivity.MyAdapter;
import com.example.day20_viewpage2.MainActivity.MyFragmentAdapter;

import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity2 extends FragmentActivity{

	ViewPager vp;
	List<ImageView> list;
	int imgs[]={R.drawable.slide1,R.drawable.slide2,R.drawable.slide3};
	
	@Override
	protected void onCreate(Bundle arg0) {
		super.onCreate(arg0);
		setContentView(R.layout.activity_main);
		vp=(ViewPager) findViewById(R.id.vp);        
	        vp=(ViewPager) findViewById(R.id.vp);
	        list=new ArrayList<ImageView>();
	        for (int i = 0; i < imgs.length; i++) {
	        	ImageView iv=new ImageView(this);
	        	iv.setImageResource(imgs[i]);
	        	list.add(iv);
			}
	        MyAdapter adapter=new MyAdapter();
	        vp.setAdapter(adapter);        
	        vp.setCurrentItem(Integer.MAX_VALUE/2-Integer.MAX_VALUE/2%list.size());
	        handler.sendEmptyMessageDelayed(1,2000);
	    }
	    //轮播
	    Handler handler = new Handler(){
	    	public void handleMessage(android.os.Message msg) {
	    		vp.setCurrentItem(vp.getCurrentItem()+1);
	    		sendEmptyMessageDelayed(1, 2000);
	    	};
	    };
	    class MyAdapter extends PagerAdapter
	    {

			@Override
			public int getCount() {
				return Integer.MAX_VALUE;
			}
			@Override
			public Object instantiateItem(ViewGroup container, int position) {
				container.addView(list.get(position%list.size()));
				return list.get(position%list.size());
			}
			@Override
			public void destroyItem(ViewGroup container, int position, Object object) {
				container.removeView(list.get(position%list.size()));
			}
			@Override
			public boolean isViewFromObject(View arg0, Object arg1) {
				return arg0==arg1;
			}    	
	    }
}
</span>

布局文件:

<span style="font-size:18px;"><LinearLayout 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:orientation="vertical">
    
    <android.support.v4.view.ViewPager
        android:id="@+id/vp"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        />

</LinearLayout>
</span>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值