android studio的fragment简单使用

1.静态绑定

fragment的创建:
android studio创建fragment
在这里插入图片描述
修改成如下(为生命周期而创建)

public class BlankFragment extends Fragment {
    
    
    private static final String TAG = "BlankFragment";
    @Override
    public void onAttach(@NonNull Context context) {
    
    
        super.onAttach(context);
        Log.d(TAG, "onAttach: ");
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate: ");
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    
    
        Log.d(TAG, "onCreateView: ");
        View view=inflater.inflate(R.layout.fragment_blank,container,false);
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    
    
        super.onActivityCreated(savedInstanceState);
        Log.d(TAG, "onActivityCreated: ");
    }
    

    @Override
    public void onStart() {
    
    
        super.onStart();
        Log.d(TAG, "onStart: ");
    }

    @Override
    public void onResume() {
    
    
        super.onResume();
        Log.d(TAG, "onResume: ");
    }

    @Override
    public void onPause() {
    
    
        super.onPause();
        Log.d(TAG, "onPause: ");
    }

    @Override
    public void onStop() {
    
    
        super.onStop();
        Log.d(TAG, "onStop: ");
    }

    @Override
    public void onDestroyView() {
    
    
        super.onDestroyView();
        Log.d(TAG, "onDestroyView: ");
    }

    @Override
    public void onDestroy() {
    
    
        super.onDestroy();
        Log.d(TAG, "onDestroy: ");
    }

    @Override
    public void onDetach() {
    
    
        super.onDetach();
        Log.d(TAG, "onDetach: ");
    }
}

在主界面中加入fragment

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".StaticInflateFragmentActivity"
    android:orientation="horizontal">

    <fragment
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/fragment1"
        android:name="com.lapian.examplefragment.BlankFragment"/>
    <fragment
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/fragment2"
        android:name="com.lapian.examplefragment.BlankFragment2"/>
</LinearLayout>

不用在mainActivity上写代码,就可以了

2.动态绑定

代码:

        FragmentManager supportFragmentManager = getSupportFragmentManager();//获取支持fragment的管理者
        FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();//管理者开始运输
        Fragment fragment1=new BlankFragment();
        fragmentTransaction.add(R.id.fragment_container,fragment1);//运输添加到容器
        fragmentTransaction.commit();//提交

xml布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DynamicInflateFragmentActivity"
    android:orientation="vertical">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/fragment_container"/>
</LinearLayout>

3.生命周期

运行起来的结果
在这里插入图片描述
图解:左边是activity的生命周期,右边是fragment的生命周期
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sunweihao2019/article/details/109051317