//布局
<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="300dp"
tools:context="${relativePackage}.${activityClass}" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:orientation="horizontal" >
</RadioGroup>
</RelativeLayout>
//页面
package com.example.lunbt1;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class MainActivity extends Activity {
private ViewPager pager;
private RadioGroup radio;
// 设置图片(数组)
private int[] image = new int[] { R.drawable.q, R.drawable.t, R.drawable.v,
R.drawable.w, R.drawable.x };
private List<ImageView> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 1找控件
pager = (ViewPager) findViewById(R.id.viewPager);
radio = (RadioGroup) findViewById(R.id.radio);
//创建一个list集合用来存图片
list = new ArrayList<ImageView>();
//循环查看图片
for (int i = 0; i < image.length; i++) {
//
ImageView imageView = new ImageView(MainActivity.this);
// 把图片存入imageview
imageView.setBackgroundResource(image[i]);
// 添加到list集合
list.add(imageView);
}
//适配器
pager.setAdapter(new VpAdapter(MainActivity.this, list));
// 循环查找图片
initData();
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
int i = position % list.size();
radio.check(i);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
handler.sendEmptyMessage(0);
}
private void initData() {
// TODO Auto-generated method stub
for (int i = 0; i < image.length; i++) {
RadioButton radioButton = new RadioButton(MainActivity.this);
radioButton.setId(i);
radio.addView(radioButton);
radio.check(0);
}
}
Handler handler = new Handler() {
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
switch (msg.what) {
case 0:
pager.setCurrentItem(pager.getCurrentItem() + 1);
handler.sendEmptyMessageDelayed(0, 1000);
break;
default:
break;
}
}
};
}
//另一个
package com.example.lunbt1;
import java.util.List;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class VpAdapter extends PagerAdapter {
private Context context;
private List<ImageView> list;
public VpAdapter(Context context, List<ImageView> list) {
super();
this.context = context;
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
int i = position % list.size();
ImageView imageView = list.get(i);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
container.removeView((View) object);
}
}