zoukankan      html  css  js  c++  java
  • 碎片Fragment的初识

    碎片(Fragment)是一个可以合理分配屏幕的UI片段。

    除主界面外,新建碎片布局文件(xml文件),在其xml文件相对应的.java文件中继承Fragment,
        public class LeftFragment extends Fragment{
        @Override
        public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){
        View view=inflater.inflate(R.layout.left_fragment,container,false);
        returnview;
        }
        }
    然后修改主布局文件:
        <fragment
        android:id="@+id/left_fragment"
        android:name="com.example.fragmenttest.LeftFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        />
    动态添加碎片布局:
    1.创建待添加的碎片实例。
    2.获取到FragmentManager,在活动中可以直接调用getFragmentManager()方法得到
    3.开启一个事务,通过调用beginTransaction()方法开启。
    4.向容器内加入碎片一般使用replace()方法实现需要传入容器的id添加的碎片实例(也就是.Java文件的对象)。
    5.提交事务,调用commit()方法来完成。
        public void onClick(Viewv){
        switch(v.getId()){
        case
        R.id.button:
        AnotherRightFragment fragment = new AnotherRightFragment();
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction transaction = fragmentManager.
        beginTransaction();
        transaction.replace(R.id.right_layout,fragment);
        transaction.commit();
        break;
        default:
        break;
        }
        }
    添加布局模拟返回上一层,即点击back键返回上一层页面,跳转前的页面,在提交事务之前添加一个addToBackStack()方法,
    1. transaction.addToBackStack(null);

      还有碎片和活动之间的通讯,调用一个indFragmentById()方法,

      1
          
      RightFragment rightFragment = (RightFragment) getFragmentManager().findFragmentById(R.id.right_fragment);
    2.  


      这样就可以在活动中调用碎片里面的方法了。
      在碎片中调用活动中的方法大致相同,

      MainActivity mainActivity = (MainActivity) getActivity();
       


      所谓的活动就是你项目的主函数mainActivity

  • 相关阅读:
    学习进度条博客(软件工程)第一周
    随机产生30个两位数的四则运算(包括真分数的计算)
    构建之法阅读笔记01
    感想
    《构建之法》阅读笔记04
    团队冲刺第二天
    第八周学习进度条
    团队冲刺第一天
    第七周学习进度条
    课堂测试03
  • 原文地址:https://www.cnblogs.com/zhoushenglei/p/7135971.html
Copyright © 2011-2022 走看看