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); } } }
ViewPager网络加载图片并无限轮播实现
最新推荐文章于 2021-05-29 02:55:54 发布