碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用得非常广泛。

  1. package com.example.fragmenttest;
  2. import android.os.Bundle;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import androidx.annotation.NonNull;
  7. import androidx.annotation.Nullable;
  8. import androidx.fragment.app.Fragment;
  9. public class RightFragment extends Fragment { //继承自Fragment
  10. @Nullable
  11. @Override
  12. public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  13. View view = inflater.inflate(R.layout.right_fragment, container, false); //调用onCreateView方法,使用Inflater.inflate方法加载right_fragment
  14. return view;
  15. }
  16. }

动态注册碎片

5步:
(1) 创建待添加的碎片实例。
(2) 获取FragmentManager,在活动中可以直接通过调用getSupportFragmentManager()方法得到。
(3) 开启一个事务,通过调用beginTransaction()方法开启。
(4) 向容器内添加或替换碎片,一般使用replace()方法实现,需要传入容器的id和待添加的碎片实例。
(5) 提交事务,调用commit()方法来完成。

  1. private void replaceFragment(Fragment fragment){
  2. FragmentManager fragmentManager = getSupportFragmentManager();//调用fragmentManager, 通过getSupportFragmentManager方法实现,得到实例
  3. FragmentTransaction transaction = fragmentManager.beginTransaction();//beginTransaction()开启一个事务
  4. transaction.replace(R.id.right_fragment, fragment);
  5. transaction.commit();
  6. }