【发布时间】:2017-03-21 11:06:22
【问题描述】:
我正在尝试将多个片段添加到 FrameLayout。我需要将它们添加到另一个下方。但它们是重叠的。
main_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
MainActivity.java
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
// Create instance of fragments
FragmentPrimaryList firstFrag = new FragmentPrimaryList();
FragmentSecondaryList secFrag = new FragmentSecondaryList();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
// add fragment to the fragment container layout
fragmentTransaction.add(R.id.fragment_container,firstFrag);
fragmentTransaction.add(R.id.fragment_container,secFrag);
fragmentTransaction.commit();
}
}
他们看起来像这样。我该如何解决这个问题?
【问题讨论】:
-
您正在添加新片段,但没有隐藏旧片段。
-
FrameLayout就是这样做的。如果您希望它们从上到下堆叠,请改用垂直的LinearLayout。 -
@MihirTrivedi 我需要同时显示两个片段,一个在另一个之下。
-
@MikeM。将现有的
FrameLayout更改为LinearLayout。但现在只显示一个片段。仅限第一个片段。 -
@MikeM。是的。
wrap_content成功了。谢谢。
标签: android android-fragments android-framelayout