public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ViewPager mViewPager; private ImageView mImageView; private ImageView mImageView1; private ImageView mImageView2; private Button mButton; private LinearLayout lll; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } private void initData() { final View view = LayoutInflater.from(this).inflate(R.layout.viewpager1, null); View view1 = LayoutInflater.from(this).inflate(R.layout.viewpager2, null); View view2 = LayoutInflater.from(this).inflate(R.layout.viewpager3, null); ArrayList<View> list = new ArrayList<>(); list.add(view); list.add(view1); list.add(view2); SubAdapter subAdapter = new SubAdapter(list); mViewPager.setAdapter(subAdapter); mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position) { case 0: mImageView.setBackgroundResource(R.drawable.shape2); mImageView1.setBackgroundResource(R.drawable.shape1); mImageView2.setBackgroundResource(R.drawable.shape1); break; case 1: mImageView.setBackgroundResource(R.drawable.shape1); mImageView1.setBackgroundResource(R.drawable.shape2); mImageView2.setBackgroundResource(R.drawable.shape1); break; case 2: lll.setVisibility(View.GONE); mButton.setVisibility(View.VISIBLE); break; } } @Override public void onPageScrollStateChanged(int state) { } }); } private void initView() { mViewPager = (ViewPager) findViewById(R.id.mViewPager); mImageView = (ImageView) findViewById(R.id.mImageView); mImageView1 = (ImageView) findViewById(R.id.mImageView1); mImageView2 = (ImageView) findViewById(R.id.mImageView2); mButton = (Button) findViewById(R.id.mButton); mButton.setOnClickListener(this); lll = (LinearLayout) findViewById(R.id.lll); lll.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.mButton: Toast.makeText(this, "开启新的界面", Toast.LENGTH_SHORT).show(); break; } }}
XML布局
<?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.jiyun.defaultuser0.demo_02.MainActivity"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/mViewPager" /> <LinearLayout android:id="@+id/lll" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:layout_margin="20dp" android:background="@drawable/shape2" android:id="@+id/mImageView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:layout_margin="20dp" android:background="@drawable/shape1" android:id="@+id/mImageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:layout_margin="20dp" android:background="@drawable/shape1" android:id="@+id/mImageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <Button android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/mButton" android:text="开启下一个界面" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" /> </RelativeLayout><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="360dp"></corners> <size android:width="30px" android:height="30px"/> <solid android:color="#6666"></solid> </shape>适配器
public class SubAdapter extends PagerAdapter { private ArrayList<View> list; public SubAdapter(ArrayList<View> list) { this.list=list; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position)); } }
启动页底部三个小点
最新推荐文章于 2021-10-10 16:39:27 发布