如果有帮助,我想要的类似于这个谷歌教程中所做的
但是在过渡之前会创建一个片段。如果我这样做,过渡效果很好;但我不能使用这种方法
=====
针对 API 7+,我只是想让一个片段在整个屏幕上可见,并使用一个按钮(一个绘制的按钮,带有一个 onTouch 事件)然后交替到第二个片段,反之亦然。
但是当我用第二个片段替换第一个片段时,或者如果我使用 fragmentTransaction.show 和 fragmentTransaction.hide 时,我会得到一个空白屏幕;在出现黑屏之前,我可以切换两次。我不想在 backstack 上。
我在 MainActivity 的 onCreate 中创建片段:
DiceTable diceTable = new DiceTable();
Logger logger = new Logger();
fragmentTransaction.add(diceTable, DICETABLE_TAG);
fragmentTransaction.add(logger, LOGGER_TAG);
fragmentTransaction.add(R.id.fragment_container, logger);
fragmentTransaction.add(R.id.fragment_container, diceTable);
然后在一种方法(从片段中调用)我进行切换:
Logger logger = (Logger)fragmentManager.findFragmentByTag(LOGGER_TAG);
DiceTable diceTable = (DiceTable)fragmentManager.findFragmentByTag(DICETABLE_TAG);
if (diceTable.isVisible()) {
fragmentTransaction.replace(R.id.fragment_container, logger);
fragmentTransaction.commit();
fragmentTransaction.hide(diceTable);
fragmentTransaction.show(logger);
}
else if (logger.isVisible()) {
fragmentTransaction.replace(R.id.fragment_container, diceTable);
fragmentTransaction.commit();
fragmentTransaction.hide(logger);
fragmentTransaction.show(diceTable);
}
这不是我应该怎么做的吗?
更换片段时出现黑屏