码迷,mamicode.com
首页 > 移动开发 > 详细

Android Fragment基础

时间:2015-08-13 13:49:03      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

同一个app内的界面切换 用Fragment比较合适,因为Activity比较重量级

Fragment 轻量级,切换灵活

-------------------------------------------

1. 创建和使用 Fragment

2. Fragment 的生命周期 及相关的实际应用

3. 创建一个带侧边栏的 Activity 以及使用

4. 创建一个 Tabbed Activity 并使用

5. Fragment的使用和状态保存

6. Fragment的横竖屏切换

-------------------------------------------

工程代码:

-------------------------------------------

1. 创建和使用 Fragment

     * 创建一个 带Fragment的Activity,将Fragment重构到一个新文件中PlaceholderFragment.java

     * 创建另一个Fragment,AnotherFragment.java

     * 使用按钮实现两个Fragment的切换

1.1 在layout fragment_main中添加一个按钮btnOpenAnohterFragment, 用于打开另一个Fragment;

    replace, add, hide, show

public class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container,
                false);
        rootView.findViewById(R.id.btnOpenAnohterFragment).setOnClickListener(
                new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        getFragmentManager().beginTransaction()
                                .addToBackStack(null) //支持返回键,否则点返回直接退出app
                                .replace(R.id.container, new AnotherFragment())
                                .commit();
                    }
                });
        return rootView;
    }
}

1.2 在AnotherFragment 添加按钮btnBack,用于返回上一个Fragment

public class AnotherFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View root = inflater.inflate(R.layout.fragment_another, container, false);
        
        root.findViewById(R.id.btnBack).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                getFragmentManager().popBackStack();
            }
        });
        return root; //super.onCreateView(inflater, container, savedInstanceState);
    }
}

技术分享

 

2. Fragment 的生命周期 及相关的实际应用

技术分享

比Activity的生命周期多很多,

onCreate,onCreateView,onPause是最常用的

 

3. 创建一个带侧边栏的 Activity 以及使用

    新建 Activity: Navigation Drawer Activity

    * 默认效果: 是在onCreateView中添加了一个ListView,来显示数据

    技术分享

    * 自定义侧边栏

 

 

 

4. 创建一个 Tabbed Activity 并使用

5. Fragment的使用和状态保存

6. Fragment的横竖屏切换

-------------------------------------------

 

-------------------------------------------

Android Fragment基础

标签:

原文地址:http://www.cnblogs.com/carlo/p/4726719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!