0

我面临一个小问题。在我的应用程序中,我试图为音频流应用程序提供纵向和横向视图,其中我使用自定义视图在布局上显示可视化器。我创建了两个文件夹,一个是 layout,另一个是 layout-land,我将 xml 放入其中,名称相同,但代码的大小、宽度发生了变化。

我还添加了 `android:configChanges="orientation|keyboardHidden" 但是当我旋转手机时,方向更改为横向,但 xml 仅从默认布局显示.. 它不需要 layout-land xml 来显示横向模式.

因为我正在使用自定义视图在我的陆地和端口 xml 上显示可视化工具,所以我的媒体播放器对象连接到 XML,当我改变方向时,媒体播放器对象被重新创建并开始播放音乐

4

2 回答 2

2

请参考 developer.android.com 指定:

android:configChanges 列出活动将自行处理的配置更改。当运行时发生配置更改时,默认情况下会关闭并重新启动 Activity,但使用此属性声明配置会阻止 Activity 重新启动。相反,活动保持运行并调用其 onConfigurationChanged() 方法。

由于您已指定 android:configChanges="orientation",这意味着您的活动本身将处理来自 onConfigurationChanged() 的方向更改。

从清单中删除 android:configChanges。你的问题将得到解决。

于 2013-02-01T14:48:10.490 回答
0

写的时候,

android:configChanges="orientation|keyboardHidden"

您的活动没有重新创建,因此它没有从 layout-land 文件夹加载 xml。如果要从 layout-land 文件夹加载 xml,则必须手动更改覆盖onConfigurationChanged()并自己处理配置更改。看看我的回答here

于 2013-02-01T14:47:40.707 回答