详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航
2013-02-28 20:12
676 查看
上一节所讲内容为ActionBar如何添加Tabs标签和下拉导航。
一、添加标签 Tabs
在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected、onTabUnselected和onTabReselected方法来关联Fragment。代码如下:
创建一个SpinnerAdapter提供下拉选项,和Tab方式不同的是Drop-down只需要修改下setNavigationMode的模式,将ActionBar.N***IGATION_MODE_TABS改为ActionBar.N***IGATION_MODE_LIST,最终改进后的代码为:
一、添加标签 Tabs
在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected、onTabUnselected和onTabReselected方法来关联Fragment。代码如下:
private class MyTabListener implements ActionBar.TabListener { private TabContentFragment mFragment; public TabListener(TabContentFragment fragment) { mFragment = fragment; } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { ft.add(R.id.fragment_content, mFragment, null); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { ft.remove(mFragment); } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } }接下来我们创建ActionBar在Activity中,代码如下:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ActionBar actionBar = getActionBar(); //提示getActionBar方法一定在setContentView后面 actionBar.setNavigationMode(ActionBar.N***IGATION_MODE_TABS); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); Fragment artistsFragment = new ArtistsFragment(); actionBar.addTab(actionBar.newTab().setText(R.string.tab_artists).setTabListener(new TabListener(artistsFragment))); Fragment albumsFragment = new AlbumsFragment(); actionBar.addTab(actionBar.newTab().setText(R.string.tab_albums).setTabListener(new TabListener(albumsFragment))); }二、添加下拉导航 Drop-down Navigation
创建一个SpinnerAdapter提供下拉选项,和Tab方式不同的是Drop-down只需要修改下setNavigationMode的模式,将ActionBar.N***IGATION_MODE_TABS改为ActionBar.N***IGATION_MODE_LIST,最终改进后的代码为:
ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.N***IGATION_MODE_LIST); actionBar.setListNavigationCallbacks(mSpinnerAdapter, mNavigationCallback);上面我们通过setListNavigationCallbacks方法绑定一个SpinnerAdapter控件,具体的OnNavigationListener代码示例为:
mOnNavigationListener = new OnNavigationListener() { String[] strings = getResources().getStringArray(R.array.action_list); @Override public boolean onNavigationItemSelected(int position, long itemId) { ListContentFragment newFragment = new ListContentFragment(); FragmentTransaction ft = openFragmentTransaction(); ft.replace(R.id.fragment_container, newFragment, strings[position]); ft.commit(); return true; } };而其中的ListContentFragment的代码为:
public class ListContentFragment extends Fragment { private String mText; @Override public void onAttach(Activity activity) { super.onAttach(activity); mText = getTag(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { TextView text = new TextView(getActivity()); text.setText(mText); return text; } }
相关文章推荐
- 详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航
- Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航
- Android 7.0 Gallery图库源码分析7 - ActionBar下拉导航及根据标签进行分类
- Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航 .
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- AndroidUI组件之ActionBar--基于下拉的导航方式
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- Android学习之ActionBar 二之添加导航选项卡
- (Android 基础知识) ActionBar.Tab---导航Tab(标签)
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- AndroidUI组件之ActionBar--基于下拉的导航方式
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- Android Action Bar 详解篇
- android的actionBar的下拉列表
- Android Action Bar 详解篇
- Android UI开发详解之ActionBar