用viewpage实现了滚动图片,自动循环的效果,附带导航的小圆点
效果图如下:
准备工作:
下载我打包好的jar包,放入项目的libs文件夹下即可使用
下载地址:http://download.csdn.net/detail/u012027644/8744019
使用方法:
Activity的代码:
public class MainActivity extends Activity {
MyImgScroll myPager; // 图片容器
LinearLayout ovalLayout; // 圆点容器
private List<View> listViews; // ImageView组
private List<String> urlList; //图片地址列表
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myPager = (MyImgScroll) findViewById(R.id.myvp);
ovalLayout = (LinearLayout) findViewById(R.id.vb);
geyImageUrl();//获取图片地址
initViewPager();//初始化图片
//开始滚动
myPager.start(this, listViews, 4000, ovalLayout);
}
/**
* 网络图片地址集
*/
private void geyImageUrl(){
urlList = new ArrayList<String>();
urlList.add("http://img3.imgtn.bdimg.com/it/u=4062712383,3140853232&fm=21&gp=0.jpg");
urlList.add("http://pic.58pic.com/58pic/15/16/00/49T58PICiZm_1024.jpg");
urlList.add("http://www.6188.com/upload_6188s/Small_paper/tebie/3553/s800/2880view_008.jpg");
urlList.add("http://img4.imgtn.bdimg.com/it/u=1254729582,2442676828&fm=21&gp=0.jpg");
}
@Override
protected void onRestart() {
myPager.startTimer();
super.onRestart();
}
@Override
protected void onStop() {
myPager.stopTimer();
super.onStop();
}
public void stop(View v) {
myPager.stopTimer();
}
/**
* 初始化图片
*/
private void initViewPager() {
listViews = new ArrayList<View>();
//初始化Volley
RequestQueue mQueue = Volley.newRequestQueue(this);
ImageLoader imageLoader = new ImageLoader(mQueue, new ImageCache() {
@Override
public void putBitmap(String url, Bitmap bitmap) {
}
@Override
public Bitmap getBitmap(String url) {
return null;
}
});
//循环添加ImageView
for (int i = 0; i < urlList.size(); i++) {
NetworkImageView imageView = new NetworkImageView(this);
imageView.setScaleType(ScaleType.CENTER_CROP);
imageView.setDefaultImageResId(R.drawable.ic_launcher);
imageView.setErrorImageResId(R.drawable.ic_launcher);
imageView.setImageUrl(urlList.get(i), imageLoader);
listViews.add(imageView);
}
}
}
注意:示例里使用了获取网络图片的网络框架volley
这里有我打包好的,下载地址:
http://download.csdn.net/detail/u012027644/8547825
下载后放入libs即可
如果是本地图片不需要从网上获取可把NetworkImageView改为ImageView,这里方法就不再赘述。
xml代码:
<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" >
<com.joe.imgscroll.MyImgScroll
android:id="@+id/myvp"
android:layout_width="match_parent"
android:layout_height="220dp" />
<LinearLayout
android:id="@+id/vb"
android:layout_width="match_parent"
android:layout_height="10dp"
android:layout_marginTop="3dp"
android:gravity="center"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
id为vb的LinearLayout即为盛放导航小圆点的容器,也可以不要。
最后Demo工程的下载地址:https://github.com/yangjie10930/ImageScroll