我见过一种方法,在片段的情况下使用frameLayout。最终目标是拥有多个碎片。
答案 0 :(得分:12)
为了在屏幕上立即显示单个片段,是的,您可以互换使用片段或FrameLayout。
通过片段标签显示片段在XML中看起来像这样:
<fragment class="com.example.ExampleFragment"
android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
通过FrameLayout显示片段在XML中看起来像这样:
<FrameLayout android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
接下来是这样的Java代码:
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.details, newFragment);
transaction.addToBackStack(null);
transaction.commit();
方法2然后支持通过运行更多Java代码来更改之后显示的片段:
Fragment secondFragment = new SecondExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.details, secondFragment);
transaction.addToBackStack(null);
transaction.commit();
因此,FrameLayout为您提供了使用片段标记的额外功能。
答案 1 :(得分:-1)
一个framelayout,Relative View和其他几个代表android中的一个视图,并从viewgroup扩展。
Fragment是一个Object,用于表示用户界面的一部分,通常托管在一个活动中。
片段有一个视图组,您可以为其分配XML布局。在XML中,如果要表示片段中视图组的布局,可以指定一个可以作为framelayout的视图组。
片段和framelayouts不能互换使用。
话虽如此,您可以在不使用片段的情况下创建Android应用程序,只需使用视图组。