我想用 FragmentTransaction 在活动中切换 2 个片段,一个是 MapFragment。
在第一次切换时,整个屏幕变黑了很短的时间。
但在最后一次切换时,该现象消失了。
这是演示视频。http://www.youtube.com/watch?v=FDf-LTZT9Wk
这是我进行切换的一些源代码。
xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_container"
android:layout_width="match_parent"
android:layout_height="match_parent" ></RelativeLayout>
活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportFragmentManager().beginTransaction().replace(R.id.my_container, new Fragment())
.commit();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_change:
if (flag) {
flag = false;
getSupportFragmentManager().beginTransaction()
.replace(R.id.my_container, new Fragment()).commit();
} else {
getSupportFragmentManager().beginTransaction()
.replace(R.id.my_container, SupportMapFragment.newInstance()).commit();
flag = true;
}
break;
}
return super.onOptionsItemSelected(item);
}
我不明白为什么会这样……
如果您知道这种现象的原因,或者知道如何解决,请教我!
谢谢~