xml布局文件
<?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" tools:context="com.jujingyun.shoppingcoupon.MainActivity" android:orientation="vertical" > <include layout="@layout/title" android:id="@+id/title" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="0.5" ></include> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="9" ></android.support.v4.view.ViewPager> <RadioGroup android:id="@+id/rg_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@color/With" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_home" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="right" android:layout_weight="1" android:button="@null" android:checked="true" android:gravity="center" android:paddingLeft="0dp" android:drawableTop="@drawable/home_button_selector" android:text="首页" /> <RadioButton android:id="@+id/rb_type" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:button="@null" android:checked="false" android:drawableTop="@drawable/type_button_selector" android:gravity="center" android:text="分类" /> <RadioButton android:id="@+id/rb_community" android:checked="false" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/community_button_selector" android:gravity="center" android:text="发现" /> <RadioButton android:id="@+id/rb_cart" android:checked="false" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/cart_button_selector" android:text="购物车" android:gravity="center" /> </RadioGroup> </LinearLayout>
MainActiviy
package com.jujingyun.shoppingcoupon; import android.content.pm.ActivityInfo; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.RadioGroup; import com.jujingyun.shoppingcoupon.fragment.BlankFragment_D; import com.jujingyun.shoppingcoupon.fragment.Home_fragment; import com.jujingyun.shoppingcoupon.fragment.Special_frgment; import com.jujingyun.shoppingcoupon.fragment.Type_frgment; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private RadioGroup rg_main; private ViewPager vp; private List<Fragment> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//强制竖屏 //查找控件 initView(); //RadioButoon与Fragment联动 thelinkage(); } private void initView() { rg_main = (RadioGroup) findViewById(R.id.rg_main); vp = (ViewPager) findViewById(R.id.vp); } private void thelinkage() { //添加集合 list = new ArrayList<>(); list.add(new Home_fragment()); list.add(new Type_frgment()); list.add(new Special_frgment()); list.add(new BlankFragment_D()); //Viewpager一次加载全部页面 vp.setOffscreenPageLimit(list.size()); vp.setAdapter(new MyAdapter(getSupportFragmentManager())); //RadioGroup监听事件 rg_main.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.rb_home: vp.setCurrentItem(0); break; case R.id.rb_type: vp.setCurrentItem(1); break; case R.id.rb_community: vp.setCurrentItem(2); break; case R.id.rb_cart: vp.setCurrentItem(3); break; } } }); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { //实现滑动页面下方按钮的联动 rg_main.check(rg_main.getChildAt(position).getId()); } @Override public void onPageScrollStateChanged(int state) { } }); } //Viewpage适配器 class MyAdapter extends FragmentPagerAdapter{ public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } } }