ViewPager无限轮播(网络图片
2017-05-16 19:48
423 查看
ViewPager无限轮播(网络图片)
import android.os.Bundle;import android.os.Handler;
import android.os.Message;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
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 ViewPager mViewPager; private ImagesAdapter adapter; private int indexPoint = 0; private Handler mHandler=new Handler(){ @Override public void handleMessage(Message msg) { mViewPager.setCurrentItem(indexPoint); indexPoint++; indexPoint=indexPoint%images.length; send(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); points=new ImageView[5]; points[0]=(ImageView)findViewById(R.id.point1); points[1]=(ImageView)findViewById(R.id.point2); points[2]=(ImageView)findViewById(R.id.point3); points[3]=(ImageView)findViewById(R.id.point4); points[4]=(ImageView)findViewById(R.id.point5); for (ImageView img : points) { img.setOnClickListener(this); } updatePoint(indexPoint); send(); } //先把所有点初始化原来的样式 private void updatePoint(int position) { for (ImageView img : points) { img.setImageResource(R.drawable.nor); } points[position].setImageResource(R.drawable.sel); } @Override public void onClick(View v) { mHandler.removeCallbacksAndMessages(null); int index = Integer.valueOf(v.getTag().toString()); mViewPager.setCurrentItem(index,false); indexPoint=index+1; send(); } public void send(){ new Thread(){ @Override public void run() { mHandler.sendEmptyMessageDelayed(indexPoint,2000); } }.start(); } private void initView() { mViewPager=(ViewPager)findViewById(R.id.viewpager); adapter = new ImagesAdapter(); mViewPager.setAdapter(adapter); mViewPager.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) { } }); }
class ImagesAdapter 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 imageView = new ImageView(MainActivity.this); Glide.with(MainActivity.this). load(images[position]). placeholder(R.drawable.nor). into(imageView); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View)object); }
}
@Override protected void onDestroy() { super.onDestroy(); mHandler.removeCallbacksAndMessages(null); }
}
相关文章推荐
- ViewPager网络请求图片并无限轮播
- Android 开发中的应用:ViewPager无限轮播(网络图片,小圆点)
- ViewPager无限轮播支持加载网络图片
- viewpager无限轮播(从网络上获取图片小圆点)
- Android ViewPager从网络获取图片实现无限轮播
- android viewPager网络加载图片无限自动轮播
- 网络获取图片viewpager无限轮播
- Android viewpager无限轮播获取网络图片功能
- ViewPager网络请求图片并无限轮播
- viewpager自动无限轮播(网络请求的图片)
- ViewPager无限轮播,加载网络数据,ImageLoader加载图片并缓存到SD卡上
- ViewPager网络加载图片并无限轮播实现
- ViewPager无限轮播(网上加载图片)
- Viewpager图片自动轮播,网络图片加载,图片自动刷新
- ViewPager实现图片无限轮播(上)
- android中ViewPager+Picasso 实现轮播本地和网络图片源码
- ViewPager图片自动+手动左右无限轮播
- ViewPager无限轮播+GridView图片展示
- viewpager实现画廊(中间图片全部显示,左右显示一部分b布局)无限轮播效果
- android中viewPager展示图片及无限轮播(一)