系统自带的NavigationDrawerFragment

1、自动生成NavigationDrawerFragment,onCreatView代码如下

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        mDrawerListView = (ListView) inflater.inflate(
                R.layout.fragment_navigation_drawer, container, false);

        View headerView = inflater.inflate(R.layout.fragment_navigation_drawer_header, null);

        mDrawerListView.addHeaderView(headerView);
        mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                selectItem(position);
            }
        });

        List<DrawerListItem> drawerdata = new ArrayList<DrawerListItem>();

        DrawerListItem item = new DrawerListItem(getResources().getDrawable(R.drawable.title_timer_data)
        ,getResources().getString(R.string.title_timer_data));
        drawerdata.add(item);

         item = new DrawerListItem(getResources().getDrawable(R.drawable.title_history_data)
                ,getResources().getString(R.string.title_history_data));
        drawerdata.add(item);

         item = new DrawerListItem(getResources().getDrawable(R.drawable.title_history_chart)
                ,getResources().getString(R.string.title_history_chart));
        drawerdata.add(item);

        item = new DrawerListItem(getResources().getDrawable(R.drawable.title_alarm_data)
                ,getResources().getString(R.string.title_alarm_data));
        drawerdata.add(item);

        item = new DrawerListItem(getResources().getDrawable(R.drawable.title_setting)
                ,getResources().getString(R.string.title_setting));
        drawerdata.add(item);

        selectItem(mCurrentSelectedPosition);

        DrawerListAdapter adapter = new DrawerListAdapter(this.getActivity(),drawerdata);
        mDrawerListView.setAdapter(adapter);

//        mDrawerListView.setAdapter(new ArrayAdapter<String>(
//                getActionBar().getThemedContext(),
//                android.R.layout.simple_list_item_activated_1,
//                android.R.id.text1,
//                new String[]{
//                        getString(R.string.title_timer_data),
//                        getString(R.string.title_history_data),
//                        getString(R.string.title_history_chart),
//                        getString(R.string.title_alarm_data),
//                        getString(R.string.title_setting),
//                }));

        mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
        return mDrawerListView;
    }

2、主界面选择标题,调用Fragment

/**
     *获取fragment
     */
    public void onSectionAttached(int number) {
        Fragment fragment = null;

        switch (number) {
            case 1:
                fragment = new TimerDataFragment();
                mTitle = getString(R.string.title_timer_data);
                break;
            case 2:
                mTitle = getString(R.string.title_history_data);
                break;
            case 3:
                mTitle = getString(R.string.title_history_chart);
                break;
            case 4:
                mTitle = getString(R.string.title_alarm_data);
                break;
            case 5:
                mTitle = getString(R.string.title_setting);
                break;
            default:
                break;
        }

        if (fragment != null) {
            //FragmentManager fragmentManager = getSupportFragmentManager();
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(R.id.container, fragment);
            fragmentTransaction.commit();
        }
    }

Android --MainActivity模板的更多相关文章

  1. Android --LoginActivity模板登录

    Android Studio使用自带LoginActivity模板,制作登录界面 登录界面功能: 1.记住表单账户密码,并自动登录 //获得sp实例对象 sp = this.getSharedPref ...

  2. Android --ListView模板

    调整了近一上午的模板 ListView表头 <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  3. 90、 Android UI模板设计

    第一步:自定义xml属性 新建一个android项目,在values文件夹中新建一个atts.xml的文件,在这个xml文件中声明我们一会在使用自定义控件时候需要指明的属性.atts.xml < ...

  4. Android.mk模板(持续更新中)

    此文列出Android.mk的常用模板(部分内容源于多篇他人博客,这里不具体指出),如有错漏,还请在评论中指出,后期持续更新   #链接第三方动态库,在和部分android源码的编译中验证不过 LOC ...

  5. Android开发模板代码(一)——简单打开图库选择照片

    首先,先贴上样本代码 //检查权限 public void checkPermission() { if (ContextCompat.checkSelfPermission(this, Manife ...

  6. 国庆大礼包:2014年最全的ANDROID GUI模板和线框图免费下载

    距离上次分享GUI模板有很长时间了,这段时间里设计趋势不断变化,谷歌推出了最新的Android L以及全新的界面设计,UI设计师又有得忙了,今天收集了一组实用的GUI模板和线框图,包含最新的Andro ...

  7. Android stadio 模板 liveTemplate不管用

    今天自己弄了模板,发现不生效.后来才知道要在下面设置在哪里应用:如下图: Android satdio 制作自己的todo 有时候,别人都使用todo,使得自己个人的todo不好用了.那么怎么弄?自己 ...

  8. Android.mk模板

    此文列出Android.mk的常用模板(部分内容源于多篇他人博客,这里不具体指出),如有错漏,还请在评论中指出,后期持续更新   #链接第三方动态库,在和部分android源码的编译中验证不过 LOC ...

  9. Android开发实践:Android.mk模板

    关于Android NDK开发的文章已经比较多了,我的博客中也分享了很多NDK开发相关经验和技巧,今天简单写了一个 Android.mk 的示例模板,供初学者参考. 本模板主要给大家示例 Androi ...

随机推荐

  1. ADO.NET对象之 DataTable

    ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源. DataTable对象表示保存在本机内存中的 ...

  2. [转]Calling Web Service Functions Asynchronously from a Web Page 异步调用WebServices

    本文转自:http://www.codeproject.com/Articles/70441/Calling-Web-Service-Functions-Asynchronously-from Ove ...

  3. NOJ 1643 阶乘除法(YY+小技巧)

    [1643] 阶乘除法 时间限制: 5000 ms 内存限制: 65535 K 问题描述 输入两个正整数 n, m,输出 n!/m!,其中阶乘定义为 n!= 1*2*3*...*n (n>=1) ...

  4. Ubuntu下设置中文字符集支持(解决中文乱码问题)

    一. Ubuntu默认的中文字符编码 Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在/etc/environment中看到: sudo gedit /etc/environment ...

  5. 自动更新开奖数据的excel文件,供大家下载

    自动更新开奖数据的excel文件,供大家下载 2010-03-14 20:22 228492人阅读打印来源:乐彩网 作者:eren 很多人拥有自制excel电子表格,常要更新最基本的开奖信息.如有多期 ...

  6. 【IOS笔记】Delegation

    Delegation Delegation is a simple and powerful pattern in which one object in a program acts on beha ...

  7. 动态样式语言Less学习笔记

    介绍资料参见:http://www.bootcss.com/p/lesscss/ LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数. LESS 既可以在 客户端 上运行 (支 ...

  8. NFS文件系统

    一.nfs服务端CentOS6安装nfs-utils和rpcbind两个软件包yum install nfs-utils rpcbind编辑/etc/exports加入:/nfsdir 192.168 ...

  9. linux 输入java 出现中文乱码

    http://jingyan.baidu.com/article/ab69b270de8b4f2ca7189f1d.html 1.查看当前linux的编码 没设置之前是:zh_CN.UTF_8 输入 ...

  10. 【转】下载量最高的 100 个 Laravel 扩展包推荐

    说明 Laravel 另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态. 本文对 Packagist 上打了 Laravel 标签 的扩展包进行整理,截止到现 ...