我正面临一个小问题。在我的应用程序中,我正在尝试为音频流应用程序设置纵向和横向视图,其中我使用自定义视图在布局上显示可视化工具。 我创建了两个文件夹,一个是布局,另一个是layout-land,我将xml放入具有相同名称的文件中,但更改了代码的大小,宽度。
我还添加了`android:configChanges =“orientation | keyboardHidden” 但是当我旋转手机时,方向更改会发生在横向上,但xml仅从默认布局显示..它不需要layout-land xml来显示横向模式。
因为我使用自定义视图在我的陆地和端口xml上显示可视化工具,所以我的mediaplayer对象连接到XML,当我改变方向时,媒体播放器对象重新创建并开始播放音乐
答案 0 :(得分:2)
请参阅developer.android.com 它指定:
<强>机器人:configChanges 强> 列出活动将自行处理的配置更改。在运行时发生配置更改时,默认情况下会关闭并重新启动活动,但声明具有此属性的配置将阻止活动重新启动。相反,活动仍在运行,并调用其onConfigurationChanged()方法。
由于您已指定android:configChanges =“orientation”,这意味着您的活动本身将处理来自onConfigurationChanged()的方向更改。
从清单中删除android:configChanges。你的问题将得到解决。
答案 1 :(得分:0)
当你写作时,
android:configChanges="orientation|keyboardHidden"
您的活动未重新创建,因此它不会从layout-land文件夹加载xml。如果要从layout-land文件夹加载xml,则必须手动更改覆盖onConfigurationChanged()
并自行处理配置更改。看看我的回答here
。