当我放入
activity android:name=".MainActivity"
android:configChanges="orientation|screenSize"
并针对我的每个活动进行操作,当我在模拟器中翻转方向时的布局与我在设计模式下的布局不匹配。
之前,当我没有configChanges时,它将可以完美地工作,除非我正在播放音频,否则它将继续播放,并且我没有办法暂停刚开始播放时正在播放的音频。
在运行仿真器时,如何使布局与我的景观活动中设计的布局相同,同时能够使用configChanges以便对象的状态保持不变?
这是我的Manifest.xml
文件中configChanges的代码:
<activity android:name=".MainActivity"
android:configChanges="orientation|screenSize"/>
<activity android:name=".Listen"
android:configChanges="orientation|screenSize"/>
<activity android:name=".See"
android:configChanges="orientation|screenSize"/>
<activity android:name=".Study"
android:configChanges="orientation|screenSize" />
答案 0 :(得分:0)
尽管互联网告诉了您,但您应该千万不要 *使用android:configChanges
属性来抑制Android活动的正常生命周期。相反,您应该在系统正常运行时在系统内工作。
来自Google自己的documentation:
注意:应避免使用此属性,并且只能将其用作最后的选择。请阅读Handling Runtime Changes,以获取有关如何正确处理由于配置更改而引起的重启的更多信息。
对于您而言,这意味着解决您提到的另一个问题:
如果我正在播放音频,它将继续播放,并且我将无法暂停刚开始播放时正在播放的音频
我建议您打开一个新问题,其中包含有关如何启动/停止正在播放的音频的详细信息以及有关“问题”的确切信息。我怀疑,解决此问题的正确方法是将音频处理移至retained fragment,但我现在只能做猜测。