下面列出了怎么用android.app.ActionBar.Tab的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (mInSearchUi) {
prepareOptionsMenuInSearchMode(menu);
} else {
// get reference to the currently selected tab
final Tab tab = getActionBar().getSelectedTab();
if (tab != null) {
switch(tab.getPosition()) {
case TAB_INDEX_DIALER:
prepareOptionsMenuForDialerTab(menu);
break;
case TAB_INDEX_CALL_LOG:
prepareOptionsMenuForCallLogTab(menu);
break;
case TAB_INDEX_FAVORITES:
prepareOptionsMenuForFavoritesTab(menu);
break;
}
}
}
return true;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab = actionBar.newTab().setText(R.string.tab1_title)
.setTabListener(new TabListener(this, Fragment1.class.getName()));
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab2_title)
.setTabListener(new TabListener(this, Fragment2.class.getName()));
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab3_title)
.setTabListener(new TabListener(this, Fragment3.class.getName()));
actionBar.addTab(tab);
// Initiate Pixate
PixateFreestyle.init(this);
}
protected void configureTabs(final ActionBar actionBar, ViewPager viewPager) {
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
// For each of the sections in the app, add a tab to the action bar.
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
Tab newTab = actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this);
actionBar.addTab(newTab);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO 自动生成的方法存根
String text = (String) tab.getText() ;
if(text.equals("我组织的")) {
mViewPager0.setCurrentItem(0);
}
if(text.equals("我参加的")) {
mViewPager0.setCurrentItem(1);
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// Check if the fragment is already initialized
if (mFragment == null) {
// If not, instantiate and add it to the activity
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
// If it exists, simply attach it in order to show it
ft.setCustomAnimations(android.R.animator.fade_in,
R.animator.animationtest);
ft.attach(mFragment);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO 自动生成的方法存根
String text = (String) tab.getText() ;
if(text.equals("活动广场")) {
mViewPager1.setCurrentItem(0);
}
if(text.equals("好友的活动")) {
mViewPager1.setCurrentItem(1);
}
}
private void initTabs() {
ActionBar actionBar = this.getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab1 = actionBar
.newTab()
.setText("Simple List")
.setTabListener(
new TabListener<SimpleListFragment>(this,
"simple_list", SimpleListFragment.class));
actionBar.addTab(tab1);
Tab tab2 = actionBar
.newTab()
.setText("Sectioned List")
.setTabListener(
new TabListener<SectionedListFragment>(this,
"sectioned_list", SectionedListFragment.class));
actionBar.addTab(tab2);
Tab tab3 = actionBar
.newTab()
.setText("Circular List")
.setTabListener(
new TabListener<CircularListFragment>(this,
"circular_list", CircularListFragment.class));
actionBar.addTab(tab3);
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (DEBUG) {
Log.d(TAG, "onTabSelected(). tab: " + tab + ", mDuringSwipe: " + mDuringSwipe);
}
// When the user swipes the screen horizontally, this method will be called after
// ViewPager.SCROLL_STATE_DRAGGING and ViewPager.SCROLL_STATE_SETTLING events, while
// when the user clicks a tab at the ActionBar at the top, this will be called before
// them. This logic interprets the order difference as a difference of the user action.
if (!mDuringSwipe) {
if (DEBUG) {
Log.d(TAG, "Tab select. from: " + mPageChangeListener.getCurrentPosition()
+ ", to: " + tab.getPosition());
}
if (mDialpadFragment != null) {
updateFakeMenuButtonsVisibility(tab.getPosition() == TAB_INDEX_DIALER);
}
mUserTabClick = true;
}
if (mViewPager.getCurrentItem() != tab.getPosition()) {
mViewPager.setCurrentItem(tab.getPosition(), true);
}
// During the call, we don't remember the tab position.
if (!DialpadFragment.phoneIsInUse()) {
// Remember this tab index. This function is also called, if the tab is set
// automatically in which case the setter (setCurrentTab) has to set this to its old
// value afterwards
mLastManuallySelectedFragment = tab.getPosition();
}
}
private void setupDialer() {
final Tab tab = getActionBar().newTab();
tab.setContentDescription(R.string.dialerIconLabel);
tab.setTabListener(mTabListener);
tab.setIcon(R.drawable.ic_tab_dialer);
getActionBar().addTab(tab);
}
private void setupFavorites() {
final Tab tab = getActionBar().newTab();
tab.setContentDescription(R.string.contactsFavoritesLabel);
tab.setIcon(R.drawable.ic_tab_all);
tab.setTabListener(mTabListener);
getActionBar().addTab(tab);
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Log.i(TAG, "onTabSelected called");
if (null != mFragment) {
ft.replace(R.id.fragment_container, mFragment);
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
Log.i(TAG, "onTabUnselected called");
if (null != mFragment)
ft.remove(mFragment);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
if (mFragment != null) {
ft.setCustomAnimations(android.R.animator.fade_in,
R.animator.test);
ft.detach(mFragment);
}
}
@Override
public void onTabUnselected(ActionBar.Tab tab,
FragmentTransaction fragmentTransaction) {
Fragment frag = appSectionsPagerAdapter.getItem(tab.getPosition());
if (frag instanceof BaseListFragment) {
((BaseListFragment)frag).finishActionMode();
}
if (tab.getPosition() == 0) {
View v = this.getCurrentFocus();
if (v != null){
InputMethodManager mgr = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
String tabText = tab.getText().toString();
for (int i=0; i<mContent.length; i++) {
if (tabText.equalsIgnoreCase(mContent[i])) {
mViewPager.setCurrentItem(i);
}
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Object tag = tab.getTag();
for (int i=0; i<mTabs.size(); i++) {
if (mTabs.get(i) == tag) {
mViewPager.setCurrentItem(i);
}
}
}
public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {
TabInfo info = new TabInfo(clss, args);
tab.setTag(info);
tab.setTabListener(this);
mTabs.add(info);
mActionBar.addTab(tab);
notifyDataSetChanged();
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Object tag = tab.getTag();
for (int i=0; i<mTabs.size(); i++) {
if (mTabs.get(i) == tag) {
mViewPager.setCurrentItem(i);
}
}
}
@Override
public void onTabSelected(ActionBar.Tab tab,
FragmentTransaction fragmentTransaction) {
// When the given tab is selected, switch to the corresponding page in
// the ViewPager.
mViewPager.setCurrentItem(tab.getPosition());
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// Check if the fragment is already initialized
if (mFragment == null) {
// If not, instantiate and add it to the activity
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
// If it exists, simply attach it in order to show it
ft.attach(mFragment);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.add(R.id.fragment_container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(fragment);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// on tab selected
// show respected fragment view
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO 自动生成的方法存根
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO 自动生成的方法存根
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO 自动生成的方法存根
}