ViewPager网络加载图片并无限轮播实现
2017-05-12 16:43
330 查看
import android.os.Handler; import android.os.Message; import android.provider.ContactsContract; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.bumptech.glide.Glide; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ViewPager vv; private MyAdapter adapter; private String[] images = {"http://l2.51fanli.net//tuan//images//1//5806eac956808.jpg", "http://l2.51fanli.net//tuan//images//b//580991bb30560.jpg", "http://l0.51fanli.net//tuan//images//b//58115f2593dc3.jpg", "http://l2.51fanli.net//tuan//images//0//57923840b054d.jpg", "http://l2.51fanli.net//tuan//images//e//58101e11ab164.jpg" }; private ImageView[] points; private int index=0; private Handler han = new Handler(){ @Override public void handleMessage(Message msg) { vv.setCurrentItem(index); index++; index=index%images.length; send(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vv = (ViewPager)findViewById(R.id.vv); adapter = new MyAdapter(); vv.setAdapter(adapter); points = new ImageView[5]; points[0] = (ImageView)findViewById(R.id.v1); points[1] = (ImageView)findViewById(R.id.v2); points[2] = (ImageView)findViewById(R.id.v3); points[3] = (ImageView)findViewById(R.id.v4); points[4] = (ImageView)findViewById(R.id.v5); for (ImageView s: points) { s.setOnClickListener(this); } updatePoint(index); send(); vv.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { updatePoint(position); } @Override public void onPageScrollStateChanged(int state) { } }); } private void updatePoint(int position) { //先把所有点初始化原来的样式 for(ImageView image:points){ image.setImageResource(R.drawable.control_unfocus); } points[position].setImageResource(R.drawable.control_focus); } public void send(){ new Thread(){ @Override public void run() { han.sendEmptyMessageDelayed(index,2000); } }.start(); } @Override public void onClick(View v) { han.removeCallbacksAndMessages(null); int num = Integer.valueOf(v.getTag().toString()); vv.setCurrentItem(num,false); index = num+1; send(); } class MyAdapter extends PagerAdapter{ @Override public int getCount() { return images.length; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView im = new ImageView(MainActivity.this); Glide.with(MainActivity.this).load(images[position]).into(im); container.addView(im); return im; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View)object); } } }
相关文章推荐
- android viewPager网络加载图片无限自动轮播
- Android ViewPager从网络获取图片实现无限轮播
- android的ViewPager实现加载网络图片并自动轮播
- ViewPager无限轮播,加载网络数据,ImageLoader加载图片并缓存到SD卡上
- ViewPager无限轮播支持加载网络图片
- ImageView实现图片的无限轮播 以及viewpager实现图片的无限轮播
- ViewPager:真正实现图片的无限轮播、自定义指示点和条目点击事件(支持长按暂停滚动)
- 使用universalimageloader实现viewpager加载网络图片轮显
- 用viewpager实现网络图片的加载并滑动
- android ViewPager实现的轮播图广告自定义视图,网络获取图片和数据
- Android 开发中的应用:ViewPager无限轮播(网络图片,小圆点)
- 网络判断+xlistview上拉加载、下拉刷新+Tablayout +图片拖拽缩放+数据库存储 3、案例完成思路要求: 模块一:用fragment+viewpager+Tablayout实现页面
- viewpager实现画廊(中间图片全部显示,左右显示一部分b布局)无限轮播效果
- ViewPager实现图片无限轮播(下)
- ViewPager无限轮播(网上加载图片)
- 使用Viewpager Indicator实现图片无限轮播
- ViewPager网络请求图片并无限轮播
- Viewpager图片自动轮播,网络图片加载,图片自动刷新
- ViewPager实现图片无限轮播(上)
- ViewPager+RadioGroup 实现网络加载图片的轮播