解决方案1:
被替换的fragment相应的layout用了linealayout, 改成非linealayout,framelayout和relativeLayouti测试可以.
解决方案2:
替换根fragment所在的activity的layout,而不是fragment的layout,
replace(R.id.container, new TranslationFragment())
不是replace(R.id.mainFragment, new TranslationFragment())
带来的问题: fragment栈内的顺序打乱,所有的fragment只能用R.id.container replace
activity的
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<span style="color:#ff0000;">android:id="@+id/container"</span>
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.teee.animation.MainActivity"
tools:ignore="MergeRootFrame" />
fragment的
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<span style="color:#ff0000;">android:id="@+id/mainFragment"</span>
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.teee.animation.MainActivity" >
getFragmentManager().beginTransaction()
.addToBackStack("T")
.replace(<span style="color:#ff0000;">R.id.container</span>, new TranslationFragment())
.commit();