Lan*_*nek 16

为了在屏幕上立即显示单个片段,是的,您可以互换使用片段或FrameLayout.

单片段,方法1

通过fragment标签显示Fragment在XML中看起来像这样:

<fragment class="com.example.ExampleFragment"
        android:id="@+id/details" android:layout_weight="1"
        android:layout_width="0px" android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)

单片段,方法2

通过FrameLayout显示片段在XML中看起来像这样:

<FrameLayout android:id="@+id/details" android:layout_weight="1"
            android:layout_width="0px" android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)

接下来是这样的Java代码:

Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.details, newFragment);
transaction.addToBackStack(null);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

多个碎片

然后,方法2支持通过运行更多Java代码来更改之后显示的片段,以便随后更改Fragment:

Fragment secondFragment = new SecondExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.details, secondFragment);
transaction.addToBackStack(null);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

因此,FrameLayout为您提供了使用fragment标签的额外功能.


小智 -1

框架布局、相对视图和其他一些代表 Android 中的视图,并且是从视图组扩展的。

片段是一个对象,用于表示用户界面的一部分,通常托管在活动中。

片段有一个视图组,您可以为其分配 XML 布局。在 XML 中,如果您希望表示片段内视图组的布局,则可以指定一个视图组,该视图组可以是框架布局。

片段和框架布局不能互换使用。

话虽如此,您可以在不使用片段的情况下创建 Android 应用程序,而只需使用视图组。