package com.bwei.Test.zhangjian20170815viewpager.Activity; 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.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import com.bwei.Test.zhangjian20170815viewpager.R; import com.bwei.imageloaderlibrary.ImageLoaderUtils; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private List<String> imagelist; private String path="http://l2.51fanli.net//tuan//images//1//5806eac956808.jpg"; private String path2="http://l2.51fanli.net//tuan//images//b//580991bb30560.jpg"; private String path3="http://l0.51fanli.net//tuan//images//b//58115f2593dc3.jpg"; private String path4="http://l2.51fanli.net//tuan//images//0//57923840b054d.jpg"; private String path5="http://l2.51fanli.net//tuan//images//e//58101e11ab164.jpg"; private RadioGroup radioGroup; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what==1){ int page= viewPager.getCurrentItem()+1; viewPager.setCurrentItem(page); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager= (ViewPager) findViewById(R.id.vp); radioGroup= (RadioGroup) findViewById(R.id.rg); imagelist=new ArrayList<>(); imagelist.add(path); imagelist.add(path2); imagelist.add(path3); imagelist.add(path4); imagelist.add(path5); MyAdapter adapter=new MyAdapter(); viewPager.setAdapter(adapter); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { position = position % imagelist.size(); //改变被选中的指示器的状态 for (int i = 0; i < radioGroup.getChildCount(); i++) { ((RadioButton) radioGroup.getChildAt(i)).setChecked(i == position); } } @Override public void onPageScrollStateChanged(int state) { } }); new Thread(new Runnable() { @Override public void run() { while (true){ try { Thread.sleep(2000); handler.sendEmptyMessage(1); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } class MyAdapter extends PagerAdapter{ @Override public int getCount() { return Integer.MAX_VALUE; } @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); DisplayImageOptions options = ImageLoaderUtils.getOptions(); ImageLoader.getInstance().displayImage(imagelist.get(position%imagelist.size()),imageView,options); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } }
自动轮播+RadioGroup
最新推荐文章于 2019-03-26 22:03:28 发布