Fragment的2中载入方式!
Posted 麦哈顿博士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中载入方式!的主要内容,如果未能解决你的问题,请参考以下文章
Listview 项目未在 Fragment Android 中显示