我见过一种在 fragment 情况下使用 frameLayout 的方法。最终目标是拥有多个 fragment 。
最佳答案
要在屏幕上立即显示单个 Fragment,是的,您可以交替使用 fragment 或 FrameLayout。
单个 fragment ,方法 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" />
单个 fragment ,方法 2
通过 FrameLayout 显示 Fragment 在 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();
多个 fragment
然后,方法 2 支持通过运行更多 Java 代码来更改之后显示的 fragment 来更改稍后显示的 fragment :
Fragment secondFragment = new SecondExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.details, secondFragment);
transaction.addToBackStack(null);
transaction.commit();
因此 FrameLayout 为您提供了通过使用 fragment 标记来执行此操作的额外能力。
关于android - 在 android 中使用 fragment 和 frameLayout 有什么区别?两者可以互换使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43474860/