package com.lbs.rikao13; 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 android.widget.RadioButton; import android.widget.RadioGroup; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { int[] tu = {R.drawable.b, R.drawable.c, R.drawable.d}; private ViewPager vp; Handler handler = new Handler() { int i = 0; @Override public void handleMessage(Message msg) { super.handleMessage(msg); vp.setCurrentItem(i % tu.length); i++; } }; private RadioGroup rg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = findViewById(R.id.vp); rg = findViewById(R.id.rg); mypageada mp = new mypageada(); vp.setAdapter(mp); timerdingshi(); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position) { case 0: RadioButton rb1 = (RadioButton) findViewById(R.id.rb1); rb1.setChecked(true); break; case 1: RadioButton rb2 = (RadioButton) findViewById(R.id.rb2); rb2.setChecked(true); break; case 2: RadioButton rb3 = (RadioButton) findViewById(R.id.rb3); rb3.setChecked(true); break; } } @Override public void onPageScrollStateChanged(int state) { } }); } private void timerdingshi() { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(1); } }, 0, 1000); } class mypageada extends PagerAdapter { @Override public int getCount() { return tu.length; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView iv = new ImageView(MainActivity.this); iv.setImageResource(tu[position]); container.addView(iv); return iv; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } } }<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context="com.lbs.rikao13.MainActivity"> <android.support.v4.view.ViewPager android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/vp" /> <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/rg"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/rb1"/> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/rb2"/> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/rb3"/> </RadioGroup> </LinearLayout>
无限轮播 viewpager
最新推荐文章于 2020-05-21 14:35:23 发布