1. 程式人生 > >簡單輪播圖(從本地資源獲取圖片)

簡單輪播圖(從本地資源獲取圖片)

MainActivity

package com.example.lunbotu;

import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

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

public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private List mjihe;
private PagerAdapter adapter;
private int i=0;
private Handler han=new Handler(){
@Override
public void handleMessage(Message msg) {
//倒計時自動輪播
viewPager.setCurrentItem(i++);
han.sendEmptyMessageDelayed(0,2000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//獲取資源ID
viewPager=findViewById(R.id.viewpager);
mjihe=new ArrayList <>();
mjihe.add(R.mipmap.xiaotu1);
mjihe.add(R.mipmap.xiaotu2);
mjihe.add(R.mipmap.xiaotu3);
mjihe.add(R.mipmap.xiaotu4);
//介面卡
adapter=new PagerAdapter(MainActivity.this,mjihe);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(i);
//執行handler
han.sendEmptyMessageDelayed(0,2000);
}
}

Adapter

package com.example.lunbotu;

import android.content.Context;
import android.support.annotation.NonNull;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import java.util.List;

public class PagerAdapter extends android.support.v4.view.PagerAdapter {
private Context mcon;
private List mjih;

public PagerAdapter(Context mcon, List <Integer> mjih) {
    this.mcon = mcon;
    this.mjih = mjih;
}

@Override
public int getCount() {
    return 5000;
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
    return view==o;
}

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    ImageView imageView=new ImageView(mcon);
    container.addView(imageView);
    imageView.setImageResource(mjih.get(position%mjih.size()));
    return imageView;
}

@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
    container.removeView((View) object);
}

}

XML

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width=“match_parent”
android:layout_height=“200dp”>

</android.support.v4.view.ViewPager>