首页 > 代码库 > Fragment的2中载入方式!

Fragment的2中载入方式!

1、静态有动态

代码如下:

public class MainActivity extends AppCompatActivity {    private ContentFragment cf;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_main);        setFragment();    }    //动态载入    public void setFragment(){        FragmentManager fm = getFragmentManager();        FragmentTransaction ft = fm.beginTransaction();        cf =  new ContentFragment();        ft.replace(R.id.fragment_content,cf);        ft.commit();    }}

静态载入fragment布局
title_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">        <TextView            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:textSize="40dp"            android:text="@string/title"/></LinearLayout>

动态载入的布局:
context_layout.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:textSize="40dp"        android:text="@string/context"/></LinearLayout>

activity_main.xml布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.lesson.hs.fragmentExp.MainActivity">    <!-- 自己定义的fragment-->    <fragment        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/fragment_title"        android:name="com.lesson.hs.fragmentExp.TitleFragment"        />    <!-- 动态载入的fragment容器-->    <FrameLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_below="@+id/fragment_title"        android:id="@+id/fragment_content"        /></RelativeLayout>

动态载入的fragment类:

public class ContentFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.context_layout,container,false);        return view;    }}

静态载入的fragment类:

public class TitleFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.title_layout,container,false);        return view;    }}

 

Fragment的2中载入方式!