首先将实现界面给大家看看
实现的代码有四个小的碎片,和一个完整的XML界面
《1》四个碎片
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/wx"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/txl"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/w"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/fx"
/>
《2》一个完整的XML的界面
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/vp_main_pager"
>
</android.support.v4.view.ViewPager>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/rg_main_group"
>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/rb_main_01"
android:text="微信"
android:textSize="14dp"
android:button="@null"
android:gravity="center"
android:background="@drawable/et_select"
android:drawableTop="@drawable/wx1"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/rb_main_02"
android:text="通讯录"
android:textSize="14dp"
android:button="@null"
android:gravity="center"
android:background="@drawable/et_select"
android:drawableTop="@drawable/txl1"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/rb_main_03"
android:text="发现"
android:textSize="14dp"
android:button="@null"
android:gravity="center"
android:background="@drawable/et_select"
android:drawableTop="@drawable/fx1"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/rb_main_04"
android:text="我的"
android:textSize="14dp"
android:button="@null"
android:gravity="center"
android:background="@drawable/et_select"
android:drawableTop="@drawable/w1"
/>
</RadioGroup>
四个Fragment和一个Activity
<1>四个Fragment
public class WxFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.wxactivity,null);
}
}
public class Txlfragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.txlactivity,null);
}
}
public class Myfragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.myactivity,null);
}
}
public class Fxfragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fxactivity,null);
}
}
<2>一个Activity
public class MainActivity extends AppCompatActivity {
private int [] id={R.id.rb_main_01,R.id.rb_main_02,R.id.rb_main_03,R.id.rb_main_04};
private ViewPager vp_main_pager;
private List<Fragment> fragments=new ArrayList<>();
private RadioGroup rg_main_group;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp_main_pager =(ViewPager) findViewById(R.id.vp_main_pager);
WxFragment wxFragment=new WxFragment();
Txlfragment txlfragment=new Txlfragment();
Fxfragment fxfragment=new Fxfragment();
Myfragment myfragment=new Myfragment();
fragments.add(wxFragment);
fragments.add(txlfragment);
fragments.add(fxfragment);
fragments.add(myfragment);
vp_main_pager.setAdapter(new MyAad(getSupportFragmentManager()));
rg_main_group =(RadioGroup) findViewById(R.id.rg_main_group);
rg_main_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
if(checkedId==id[0]){
vp_main_pager.setCurrentItem(0);
}else if(checkedId==id[1]){
vp_main_pager.setCurrentItem(1);
}else if(checkedId==id[2]){
vp_main_pager.setCurrentItem(2);
}else if(checkedId==id[3]){
vp_main_pager.setCurrentItem(3);
}
}
});
rg_main_group.check(id[0]);
vp_main_pager.setCurrentItem(0);
vp_main_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
if(state==2){
rg_main_group.check(id[vp_main_pager.getCurrentItem()]);
}
}
});
}
class MyAad extends FragmentPagerAdapter{
public MyAad(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}
}