1,布局
<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:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/viewpager"
></android.support.v4.view.ViewPager>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/viewpager"
android:gravity="center_horizontal"
android:id="@+id/linear"
></LinearLayout>
</RelativeLayout>
2,代码
public class MainActivity extends Activity {
// 定义成员变量
private ViewPager viewpager;
private LinearLayout linear;
//定义图片的地址数组(图片可以从网上获取)
int[] imageurl = new int[] { R.drawable.aaa, R.drawable.abcd, R.drawable.b,
R.drawable.c, R.drawable.e };
ArrayList<ImageView> iv_list = new ArrayList<ImageView>();
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
int item=msg.what;
item++;
viewpager.setCurrentItem(item);
handler.sendEmptyMessageDelayed(item, 2000);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找控件
viewpager = (ViewPager) findViewById(R.id.viewpager);
linear = (LinearLayout) findViewById(R.id.linear);
addLiner();
//ViewPager添加适配器
viewpager.setAdapter(new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
ImageView image = new ImageView(MainActivity.this);
image.setImageResource(imageurl[position % imageurl.length]);
container.addView(image);
return image;
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
// TODO Auto-generated method stub
// super.destroyItem(container, position, object);
container.removeView((View) object);
}
});
//ViewPager页面轮播是的监听
viewpager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
for(int i=0;i<iv_list.size();i++){
if(i==arg0%imageurl.length){
iv_list.get(i).setImageDrawable(getResources().getDrawable(R.drawable.format_and));
}else{
iv_list.get(i).setImageDrawable(getResources().getDrawable(R.drawable.format_normal));
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
handler.sendEmptyMessageDelayed(viewpager.getCurrentItem(), 2000);
}
/**
* 添加小圆点
*/
private void addLiner() {
iv_list.clear();
linear.removeAllViews();
for(int i=0;i<imageurl.length;i++){
ImageView imageview=new ImageView(MainActivity.this);
if(i==0){
imageview.setImageDrawable(getResources().getDrawable(R.drawable.format_and));
}else{
imageview.setImageDrawable(getResources().getDrawable(R.drawable.format_normal));
}
iv_list.add(imageview);
LayoutParams params=new LayoutParams(20, 20);
params.setMargins(5, 0, 5, 0);
linear.addView(imageview, params);
}
}
}