纯碎的轮播
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.b_week3.MainActivity"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="100dp" android:id="@+id/pager"></android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/ll" android:orientation="vertical"> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/rg" android:orientation="horizontal" android:gravity="center" android:layout_marginTop="50dp"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/rb1" android:checked="true"/> <RadioButton android:id="@+id/rb2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/rb3"/> </RadioGroup> </LinearLayout> </RelativeLayout>
public class MainActivity extends AppCompatActivity { private List<String > imagelist=new ArrayList<String>(); private ViewPager pager; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { int what=msg.what; pager.setCurrentItem(what); } }; private RadioGroup rg; private int con=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pager = (ViewPager) findViewById(R.id.pager); rg = (RadioGroup) findViewById(R.id.rg); imagelist.add("http://cdn.duitang.com/uploads/blog/201308/18/20130818150526_Ru2Bk.thumb.600_0.png"); imagelist.add("http://www.bkill.com/u/info_img/2012-09/02/2012083116140522302.jpg"); imagelist.add("http://www.it165.net/uploadfile/2011/1218/20111218070928328.jpg"); pager.setAdapter(new My()); jian(); new Thread(){ @Override public void run() { while(true) { try { Thread.sleep(1000); con++; handler.sendEmptyMessage(con); } catch (Exception e) { e.printStackTrace(); } } } }.start(); } class My 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); ImageLoader.getInstance().displayImage(imagelist.get(position%imagelist.size()),imageView,appliction.getImageOptions()); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } public void jian(){ pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position%imagelist.size()){ case 0: rg.check(R.id.rb1); break; case 1: rg.check(R.id.rb2); break; case 2: rg.check(R.id.rb3); break; } } @Override public void onPageScrollStateChanged(int state) { } }); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) { switch (checkedId%imagelist.size()){ case R.id.rb1: pager.setCurrentItem(0); break; case R.id.rb2: pager.setCurrentItem(1); break; case R.id.rb3: pager.setCurrentItem(2); break; } } }); } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lunbo"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" android:name=".appliction"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>