1:fragment_zhqrl.xml(征期日历)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="征期日历"/> </LinearLayout>
2:fragment_bshdzh.xml(办税地址)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="办税地址"/> </LinearLayout>
3:ZhqrlFragment.java
public class ZhqrlFragment extends Fragment{ private View view = null; @Override public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) { view = arg0.inflate(R.layout.fragment_zhqrl, arg1, false); Log.i("ZhqrlFragment","*************"); return view; } }
4:BshdzhFragment.java
public class BshdzhFragment extends Fragment{ private View view = null; @Override public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) { view = arg0.inflate(R.layout.fragment_bshdzh, arg1, false); Log.i("BshdzhFragment", "**********"); return view; } }
5:BshToolsViewPagerAdapter.java(ViewPager的适配器)
public class BshToolsViewPagerAdapter extends FragmentPagerAdapter{ private Context mContext=null; private BshdzhFragment bshdzhFragment = new BshdzhFragment(); private ZhqrlFragment zhqrlFragment = new ZhqrlFragment(); private static final int TAB_INDEX_COUNT = 2; private static final int TAB_INDEX_ONE = 0; private static final int TAB_INDEX_TWO = 1; public BshToolsViewPagerAdapter(FragmentManager fm, Context context) { super(fm); this.mContext = context; } @Override public Fragment getItem(int arg0) { switch (arg0) { case TAB_INDEX_ONE: return bshdzhFragment; case TAB_INDEX_TWO: return zhqrlFragment; } throw new IllegalStateException("No fragment at position " + arg0); } @Override public int getCount() { return TAB_INDEX_COUNT; } @Override public CharSequence getPageTitle(int position) { String tabLabel = null; switch (position) { case TAB_INDEX_ONE: tabLabel = this.mContext.getString(R.string.tab_1); break; case TAB_INDEX_TWO: tabLabel = this.mContext.getString(R.string.tab_2); break; } return tabLabel; } }
6:activity_bsh_tools.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".BshToolsActivity" > <android.support.v4.view.ViewPager android:id="@+id/pagerBshTools" android:layout_width="match_parent" android:layout_height="match_parent" > </android.support.v4.view.ViewPager> </RelativeLayout>
7:BshToolsActivity.java
public class BshToolsActivity extends FragmentActivity implements ActionBar.TabListener { private ViewPager mViewPager = null; private BshToolsViewPagerAdapter mViewPagerAdapter = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_bsh_tools); setUpActionBar(); setUpViewPager(); setUpTabs(); } //启用ActionBar private void setUpActionBar() { final ActionBar actionBar = getActionBar(); //设置ActionBar背景 //Drawable draw=this.getResources().getDrawable(R.drawable.ic_action_bar_bg); //actionBar.setBackgroundDrawable(draw); //启用ActionBar Tab actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); //启用ActionBar的Home按键 actionBar.setDisplayHomeAsUpEnabled(true); } //设置ViewPager private void setUpViewPager(){ mViewPagerAdapter = new BshToolsViewPagerAdapter(getSupportFragmentManager(),this); mViewPager = (ViewPager)findViewById(R.id.pagerBshTools); mViewPager.setAdapter(mViewPagerAdapter); mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { final ActionBar actionBar = getActionBar(); actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrollStateChanged(int state) { switch(state) { case ViewPager.SCROLL_STATE_IDLE: //0空闲 break; case ViewPager.SCROLL_STATE_DRAGGING: //1在滑行中 break; case ViewPager.SCROLL_STATE_SETTLING: //2目标加载完 break; default: break; } } }); } //设置Tab标签内容 private void setUpTabs(){ final ActionBar actionBar = getActionBar(); for (int i = 0; i < mViewPagerAdapter.getCount(); ++i) { actionBar.addTab(actionBar.newTab() .setText(mViewPagerAdapter.getPageTitle(i)) .setTabListener(this)); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.bsh_tools, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case android.R.id.home: this.finish(); overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onTabReselected(Tab arg0, FragmentTransaction arg1) { // TODO Auto-generated method stub } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { mViewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } }
8:运行效果: