我想加载片段布局按钮点击活动。当我这样做时,它成功地重定向到片段,但事物是片段布局与活动布局重叠。请帮帮我。
这是我的活动布局
<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"
tools:context="info.androidhive.materialtabs.fragments.OneFragment">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout7"
android:layout_alignTop="@+id/linearLayout6"
android:layout_toEndOf="@+id/linearLayout6">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView14"
android:layout_marginLeft="25dp"
android:layout_marginTop="1dp"
android:layout_marginRight="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView15"
android:layout_marginLeft="200dp" />
</LinearLayout>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
这是我的片段布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="info.androidhive.materialtabs.fragments.OneFragment">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three"
android:textSize="40dp"
android:textStyle="bold"
android:id="@+id/Add"
android:layout_centerInParent="true"/>
ThreeFragment扩展Fragment并在Activity里面点击按钮,这就是我加载fragement的方法。没有错误发生,唯一的问题是视图重叠。
AddPlan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment fragment = new FourFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}
});
答案 0 :(得分:2)
尝试在你的片段上加上背景:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
background="#FFFFFF"
tools:context="info.androidhive.materialtabs.fragments.OneFragment">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three"
android:textSize="40dp"
android:textStyle="bold"
android:id="@+id/Add"
android:layout_centerInParent="true"/>
或在添加新内容之前清除其他片段:
fragmentManager.popBackStack();
答案 1 :(得分:0)
<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"
tools:context="info.androidhive.materialtabs.fragments.OneFragment">
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout7"
android:layout_alignTop="@+id/linearLayout6"
android:layout_toEndOf="@+id/linearLayout6">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView14"
android:layout_marginLeft="25dp"
android:layout_marginTop="1dp"
android:layout_marginRight="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView15"
android:layout_marginLeft="200dp" />
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:0)
用以下代码替换您的代码:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment fragment = new FourFragment();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
答案 3 :(得分:0)
如果您希望片段完全隐藏活动布局,请考虑使用DialogFragment。
另请查看优秀cliff notes以了解如何全屏显示对话框。
它基本上涉及这些步骤: