2017.10.08
今天我学了ViewPaper,
1.先在布局文件中写好ViewPaper组件,V4包下的,因为可以兼容低版本的。
2.新创你所需要的Fragment类继承V4包下的Fragment
3.继承FragmentActivity
4.新建ViewPaper的适配器,并传替getSupportFragment(),适配器继承FragmentPagerAdapter
5.给RadioGroup设定监听器setOnCheckedChangeListener ,main_viewPaper.setCurrentItem(0);
6.给ViewPaperiewPape设定监听器addOnPageChangeListener,main_rg.check(R.id.main_date_rbtn);
public class MainActivity extends FragmentActivity{
private RadioGroup main_rg;
private ViewPager main_viewPaper;
private List<Fragment> fragmentList;
private Fragment fragment_date;
private Fragment fragment_server;
private Fragment fragment_plugin;
private Fragment fragment_setup;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
fragmentList=new ArrayList<>();
fragment_date= new DateFragment();
fragment_server=new ServerFragment();
fragment_plugin=new PluginFragment();
fragment_setup=new SetupFragment();
fragmentList.add(fragment_date);
fragmentList.add(fragment_server);
fragmentList.add(fragment_plugin);
fragmentList.add(fragment_setup);
main_viewPaper.setAdapter(new MyAdapter(getSupportFragmentManager(),fragmentList));
main_viewPaper.setCurrentItem(0);
main_rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
switch (i){
case R.id.main_date_rbtn:
main_viewPaper.setCurrentItem(0);
//Toast.makeText(MainActivity.this,"666",Toast.LENGTH_SHORT).show();
break;
case R.id.main_server_rbtn:
//ServerFragment Server=new ServerFragment();
main_viewPaper.setCurrentItem(1);
break;
case R.id.main_plugin_rbtn:
//PluginFragment Plugin=new PluginFragment();
main_viewPaper.setCurrentItem(2);
break;
case R.id.main_setup_rbtn:
main_viewPaper.setCurrentItem(3);
//SetupFragment Setup=new SetupFragment();
break;
}
}
});
main_viewPaper.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
main_rg.check(R.id.main_date_rbtn);
break;
case 1:
main_rg.check(R.id.main_server_rbtn);
break;
case 2:
main_rg.check(R.id.main_plugin_rbtn);
break;
case 3:
main_rg.check(R.id.main_setup_rbtn);
break;
}
}
public void onPageScrollStateChanged(int state) {
}
});
}
private void init() {
main_rg= (RadioGroup) findViewById(R.id.main_radionGroup);
main_viewPaper= (ViewPager) findViewById(R.id.main_viewPaper);
}
}