xml代码:
<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"
tools:context="com.example.text_1113_imgge.MainActivity" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<LinearLayout
android:id="@+id/myliner"
android:layout_width="match_parent"
android:layout_height=" 40dp"
android:gravity="center"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:background="#22000000"
/>
</RelativeLayout>
</RelativeLayout>
圆点的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<View
android:id="@+id/yuandian"
android:layout_width="8dp"
android:layout_height="8dp"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:background="@drawable/dot_shape"
/>
</LinearLayout>
圆点颜色设置,在drawable中定义两个xml颜色
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
android:radius="8dp"
/>
<solid android:color="#ffffffff"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
android:radius="8dp"
/>
<solid android:color="#88000000"/>
</shape>
工程代码:
import java.util.List;
import com.bawei.pageadapter.Mypageadapter;
import com.lidroid.xutils.BitmapUtils;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.TextView;
/*1,配置xml. viewpage android.support.v4.view.ViewPager ,
* LinearLayout控件,再创建一个圆点xml--view定义大小,
* drawable配置圆点样式
2,使用BitmapUtils 加载网络图片。
3,开启子线程
4,*/
public class MainActivity extends Activity {
private ViewPager vp;
// 图片控件集合
private List<ImageView>im_list=new ArrayList<ImageView>();
private Mypageadapter mypage ;
private BitmapUtils bitmapUtils;
private List<View>dot_list=new ArrayList<View>();//圆点集合
// 动态添加圆点布局
private LinearLayout myliner;
private String[] ima_url = new String[]{
"http://pic8.nipic.com/20100701/5290458_114840036316_2.jpg",
"http://pic2.nipic.com/20090424/1468853_230119053_2.jpg",
"http://img3.3lian.com/2013/s1/20/d/57.jpg",
"http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg",
"http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"
};
// 开启子线程,循环次数
private int im_cont=0;
Handler handle=new Handler();
Runnable runnable=new Runnable() {
public void run() {
im_cont=im_cont+1;
vp.setCurrentItem(im_cont%im_list.size());
handle.postDelayed(runnable, 2500);//设置循环播放时间
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
//创建对象 bitmapUtils
bitmapUtils=new BitmapUtils(this);
myliner=(LinearLayout) findViewById(R.id.myliner);
ImageList();
getdotlist();
vp=(ViewPager) findViewById(R.id.vp);
mypage=new Mypageadapter(this, im_list);
vp.setAdapter(mypage);
//设置圆点颜色的默认值
dot_list.get(0).setBackgroundResource(R.drawable.dot_facuesd);
// 滑动页面播放
vp.setOnPageChangeListener(new OnPageChangeListener() {
private int old_position=0;
public void onPageSelected(int arg0) {
// 定义圆点的样式
dot_list.get(old_position).setBackgroundResource(R.drawable.dot_shape);
dot_list.get(arg0).setBackgroundResource(R.drawable.dot_facuesd);
old_position=arg0;
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
handle.postDelayed(runnable, 2500);
}
/**
* 圆点的集合
* 根据需要加载的ImageList大小,设置小圆点的个数
*/
private void getdotlist() {
// TODO Auto-generated method stub
for(int i=0;i<im_list.size();i++){
View view=LayoutInflater.from(this).inflate(R.layout.dot_point, null);
dot_list.add(view.findViewById(R.id.yuandian));
myliner.addView(view);
}
}
/**
* 根据图片地址数量,异步加载Imageview,并将Imageview添加进imageview集合中
*/
private void ImageList() {
for(int i=0;i<ima_url.length;i++){
ImageView image=new ImageView(this);
image.setScaleType(ScaleType.FIT_XY);//图片充满
bitmapUtils.display(image, ima_url[i]);
im_list.add(image);
}
}
}
pageadapter适配代码
package com.bawei.pageadapter;
import java.util.ArrayList;
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 Mypageadapter extends PagerAdapter {
Context context;
private List<ImageView>list=new ArrayList<ImageView>();
public Mypageadapter(Context context, List<ImageView> list) {
super();
this.context = context;
this.list = list;
}
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
//super.destroyItem(container, position, object);
ImageView view=list.get(position);
container.removeView(view);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
ImageView view=list.get(position);
container.addView(view);
return view ;
}
}