布局文件
<RadioGroup
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:layout_weight=
"1">
<RadioButton
android:
id=
"@+id/but1_main"
android:button=
"@null"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:textSize=
"40dp"
android:
text=
"页面一"/>
<RadioButton
android:
id=
"@+id/but2_main"
android:button=
"@null"
android:layout_weight=
"1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"40dp"
android:
text=
"页面二"/>
<RadioButton
android:
id=
"@+id/but3_main"
android:button=
"@null"
android:layout_weight=
"1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"40dp"
android:
text=
"页面三"/>
<RadioButton
android:
id=
"@+id/but4_main"
android:button=
"@null"
android:layout_weight=
"1"
android:textSize=
"40dp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:
text=
"页面四"/>
</RadioGroup>
<android.support.v4.view.ViewPager
android:
id=
"@+id/vp_main"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"10">
</android.support.v4.view.ViewPager>
主方法:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private RadioGroup group;
private RadioButton but1;
private RadioButton but2;
private ViewPager vp;
private ArrayList<RadioButton> butlist;
private RadioButton but3;
private RadioButton but4;
private ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
but1= (RadioButton) findViewById(R.id.but1_main);
but2= (RadioButton) findViewById(R.id.but2_main);
but3 = (RadioButton) findViewById(R.id.but3_main);
but4 = (RadioButton) findViewById(R.id.but4_main);
butlist =
new ArrayList<>();
butlist.add(but1);
butlist.add(but2);
butlist.add(but3);
butlist.add(but4);
for (Button b: butlist) {
b.setOnClickListener(
this);
}
vp = (ViewPager) findViewById(R.id.vp_main);
FragmentPagerAdapter myFragmentAdapter =
new FragmentAdapter(getSupportFragmentManager());
vp.setAdapter(myFragmentAdapter);
vp.setOnPageChangeListener(
new ViewPager.OnPageChangeListener() {
public void onPageSelected(
int arg0) {
for (
int i =
0; i < butlist.size(); i++) {
if (i==arg0) {
butlist.get(i).setTextColor(Color.RED);
}
else {
butlist.get(i).setTextColor(Color.BLACK);
}
}
}
public void onPageScrolled(
int arg0,
float arg1,
int arg2) {
}
public void onPageScrollStateChanged(
int arg0) {
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.but1_main:
vp.setCurrentItem(
0);
break;
case R.id.but2_main:
vp.setCurrentItem(
1);
break;
case R.id.but3_main:
vp.setCurrentItem(
2);
break;
case R.id.but4_main:
vp.setCurrentItem(
3);
break;
default:
break;
}
}
}
适配器:
public class FragmentAdapter extends FragmentPagerAdapter {
public FragmentAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment
getItem(
int position) {
Fragment fragment=
null;
switch (position) {
case 0:
fragment=
new Fragment1();
break;
case 1:
fragment=
new Fragment2();
break;
case 2:
fragment=
new Fragment3();
break;
case 3:
fragment=
new Fragment4();
break;
default:
break;
}
return fragment;
}
@Override
public int getCount() {
return 4;
}
}
fragment类:
public class Fragment1 extends Fragment {
@Nullable
@Override
public View
onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.f1,
null);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
}
就是这样,ok.