软件应用教程

ActionBar使用方法 – Android活动栏(二) Android开发技术

ActionBar使用方法 – Android活动栏(二) Android开发技术

   有关Android活动栏-ActionBar的功能除了添加活动条目 Action Items和添加活动视图 Action View外今天Android123和大家一起来看下支持多Fragment切换的ActionBar标签页和下拉导航。

  三、添加标签 Tabs

   在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected、onTabUnselected和onTabReselected方法来关联Fragment。代码如下

  private class MyTabListener implements ActionBar.TabListener {
    private TabContentFragment mFragment;
 
    // Called to create an instance of the listener when adding a new tab
    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) {
        // do nothing
    }
 
}

 接下来我们创建ActionBar在Activity中,代码如下

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
 
    final ActionBar actionBar = getActionBar();  //Android开发网提示getActionBar方法一定在setContentView后面
    actionBar.setNavigationMode(ActionBar.NAVIGATION_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.NAVIGATION_MODE_TABS改为ActionBar.NAVIGATION_MODE_LIST,最终改进后的代码为

ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);You should perform this during your activity’s onCreate() method.

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的四种方式我们已经大概了解,具体的示例工程代码,明天Android开发网继续解析。

软件应用教程

更多有关于 软件应用教程

如何利用火车采集软件采集58招聘信息_爬虫软件技术与爬虫软件网页数据采集器门户

什么是火车采集器 如何使用火车采集器软件_爬虫软件技术与爬虫软件网页数据采集器门户

如何使用火车采集器制作zencart数据包来进行批量导入商品_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器的DedeCMS5.7文章免登陆发布接口_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器如何把浏览器里面的cookie到火车头采集器里面_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器教程之如何通过fiddler获取cookie简单教程_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器FTP设置 图片下载上传的路径的设置_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器文件图片下载路径设置简易说明_爬虫软件技术与爬虫软件网页数据采集器门户

火车采集器采集淘宝天猫商品采集多页获取宝贝详细教程_爬虫软件技术与爬虫软件网页数据采集器门户

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2016 Tadke.com. Powered by Wordpress.