package org.carelife.creader.ui.activity; import java.util.ArrayList; import java.util.List; import org.carelife.creader.R; import org.carelife.creader.ui.adapter.BaseFragmentPagerAdapter; import org.carelife.creader.ui.fragment.NewsFragment; import org.carelife.creader.ui.fragment.NovelFragment; import com.viewpagerindicator.TabPageIndicator; import android.app.ActionBar; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.Menu; import android.view.MenuItem; import android.view.View; public class MainActivity extends FragmentActivity { private ActionBar actionBar; private ViewPager pager; private TabPageIndicator indicator; public static String[] newsGroupName = { "����", "���", "����", "����", "ͼ��", "��Ѷ", "����", "�Ƽ�", "�ƾ�", "����", "����", "Ů��" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); buildActionBar(); buildViewPager(); } private void buildViewPager() { List<Fragment> fragmentList = new ArrayList<Fragment>(); fragmentList.add(NovelFragment.newInstance()); for (int i = 0; i < newsGroupName.length; i++) { fragmentList.add(NewsFragment.newInstance(i)); } FragmentPagerAdapter adapter = new MainFragmentPagerAdapter( getSupportFragmentManager(), fragmentList); pager = (ViewPager) findViewById(R.id.vPager); pager.setOffscreenPageLimit(5); pager.setAdapter(adapter); pager.setCurrentItem(0); indicator = (TabPageIndicator) findViewById(R.id.indicator); indicator.setViewPager(pager); indicator.setOnPageChangeListener(pageChangeListener); } private void buildActionBar() { actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setTitle("CReader"); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.actionbar_menu_main, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("launcher", false); startActivity(intent); break; case R.id.menu_novel: pager.setCurrentItem(0); break; case R.id.menu_news: pager.setCurrentItem(1); break; case R.id.menu_settings: Intent intent2 = new Intent(MainActivity.this, GlobalSetting.class); MainActivity.this.startActivity(intent2); break; case R.id.menu_addbook: Intent intent3 = new Intent(MainActivity.this, BookStoreActivity.class); MainActivity.this.startActivity(intent3); break; case R.id.menu_searchbook: Intent intent4 = new Intent(MainActivity.this, SearchPage.class); MainActivity.this.startActivity(intent4); break; case R.id.menu_exit: MainActivity.this.finish(); break; default: return super.onOptionsItemSelected(item); } return true; } private class MainFragmentPagerAdapter extends BaseFragmentPagerAdapter { public MainFragmentPagerAdapter(FragmentManager fm) { super(fm); } public MainFragmentPagerAdapter(FragmentManager fm, List<Fragment> fragments) { super(fm, fragments); } @Override public CharSequence getPageTitle(int position) { if (position == 0) return "С˵"; return newsGroupName[(position - 1) % newsGroupName.length]; } } private OnPageChangeListener pageChangeListener = new OnPageChangeListener() { @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageSelected(int arg0) { if(0 == arg0) { indicator.setVisibility(View.GONE); } else { indicator.setVisibility(View.VISIBLE); } } }; }