您的位置:首页 > 编程语言 > PHP开发

ActionBar+TabPageIndicator+ViewPager+FragmentPagerAdapter的Tab主界面

2016-03-30 22:44 549 查看
http://code.qtuba.com/article-49328.html

MainFragmentAdapter.java

[java] view
plaincopy

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

[java] view
plaincopy

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

[html] view
plaincopy

<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: