ActionBar+TabPageIndicator+ViewPager+FragmentPagerAdapter的Tab主界面
MainFragmentAdapter.java
- package com.example.ui;
 - import android.content.Context;
 - import android.support.v4.app.Fragment;
 - import android.support.v4.app.FragmentManager;
 - import android.support.v4.app.FragmentPagerAdapter;
 - public class MainFragmentAdapter extends FragmentPagerAdapter {
 - private String[] titles = new String[]{"新建笔记","全部笔记","分类","照片中转站","更多"};
 - public MainFragmentAdapter(FragmentManager fm) {
 - super(fm);
 - }
 - public MainFragmentAdapter(FragmentManager fm,Context context) {
 - super(fm);
 - }
 - @Override
 - public Fragment getItem(int position) {
 - switch (position) {
 - case 0:
 - return YouDaoFragmentOne.newInstance();
 - case 1:
 - return YouDaoFragmentTwo.newInstance();
 - case 2:
 - return YouDaoFragmentThree.newInstance();
 - case 3:
 - return YouDaoFragmentFour.newInstance();
 - case 4:
 - return YouDaoFragmentFive.newInstance();
 - }
 - return null;
 - }
 - @Override
 - public CharSequence getPageTitle(int position) {
 - return titles[position];
 - }
 - @Override
 - public int getItemPosition(Object object) {
 - // TODO Auto-generated method stub
 - return POSITION_NONE;
 - }
 - @Override
 - public int getCount() {
 - return titles.length;
 - }
 - }
 
MainActivity.java
- package com.example.ui;
 - import java.lang.reflect.Field;
 - import android.os.Bundle;
 - import android.support.v4.view.ViewPager;
 - import android.view.ViewConfiguration;
 - import com.actionbarsherlock.app.SherlockFragmentActivity;
 - import com.viewpagerindicator.TabPageIndicator;
 - public class MainActivity extends SherlockFragmentActivity {
 - private MainFragmentAdapter adapter;
 - @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.activity_main);
 - initActionBar();
 - setOverflowShowingAlways();
 - initViews();
 - }
 - private void initActionBar() {
 - getSupportActionBar().setDisplayShowCustomEnabled(true);
 - getSupportActionBar().setDisplayShowTitleEnabled(true);
 - getSupportActionBar().setDisplayShowHomeEnabled(true);
 - getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_tab_bg));
 - }
 - @Override
 - public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
 - getSupportMenuInflater().inflate(R.menu.more_menu, menu);
 - return super.onCreateOptionsMenu(menu);
 - }
 - private void setOverflowShowingAlways() {
 - try {
 - ViewConfiguration config = ViewConfiguration.get(this);
 - Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
 - menuKeyField.setAccessible(true);
 - menuKeyField.setBoolean(config, false);
 - } catch (Exception e) {
 - e.printStackTrace();
 - }
 - }
 - private void initViews(){
 - adapter = new MainFragmentAdapter(getSupportFragmentManager(),this);
 - ViewPager pager = (ViewPager) findViewById(R.id.pager);
 - pager.setAdapter(adapter);
 - TabPageIndicator indicator = (TabPageIndicator) findViewById(R.id.indicator);
 - indicator.setViewPager(pager);
 - }
 - }
 
activity_main.xml
- <LinearLayout 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:background="#f2f2f2"
 - android:orientation="vertical">
 - <com.viewpagerindicator.TabPageIndicator
 - android:id="@+id/indicator"
 - android:layout_width="fill_parent"
 - android:layout_height="wrap_content" />
 - <android.support.v4.view.ViewPager
 - android:id="@+id/pager"
 - android:layout_width="match_parent"
 - android:layout_height="0dip"
 - android:layout_weight="1" />
 - </LinearLayout>
 
截图
代码下载地址:
http://download.csdn.net/detail/shdhenghao3/8032213
                    
                
                
            
        
浙公网安备 33010602011771号