用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
时间: 2024-10-21 03:12:37