2013-02-01 31 views
0

我面臨一個小問題。在我的應用程序中,我試圖讓音頻流應用程序的肖像和橫向視圖,其中我使用自定義視圖來顯示可視化器的佈局。 我已經創建了兩個文件夾,一個是佈局,另一個是layout-land,我把xml放到了同名的文件夾中,但是在代碼中改變了大小,寬度。活動重新啓動時查看更改爲橫向自定義視圖

此外,我添加了`android:configChanges =「orientation | keyboardHidden」 但是,當我旋轉我的手機,方向改變發生到風景,但xml僅顯示默認佈局..它不採取佈局土地xml來顯示風景模式。

因爲我使用自定義視圖在我的土地和港口XML都讓我的MediaPlayer對象連接到XML,當我改變方向比媒體播放器對象得到重建,並開始播放音樂顯示可視化

回答

2

請參閱developer.android.com 它規定:

安卓configChanges 列出配置更改該活動將處理本身。當運行時發生配置更改時,該活動默認關閉並重新啓動,但使用此屬性聲明配置將會阻止活動重新啓動。相反,該活動仍在運行,並調用onConfigurationChanged()方法。

由於您指定了android:configChanges =「orientation」,這意味着您的活動本身將處理onConfigurationChanged()方向更改。

從清單中刪除android:configChanges。你的問題將得到解決。

+0

但現在的問題是,當我打開風景模式比我得到了我的風景視圖,但我的mediaplayer對象被重新創建和我有兩個音樂在同一時間播放..我可以避免在改變方向 –

+0

,因爲我的自定義視圖連接到mediaplyer對象,這就是爲什麼當我切換到風景模式mediaplayer開始新的播放器和播放聲音時,開始mediaplyer。 –

+0

不應在活動重新啓動時創建媒體播放器實例,因爲這可能會發生多次。 –

0

當你寫,

android:configChanges="orientation|keyboardHidden" 

您的活動沒有重新創建,所以它不從layout-land文件夾加載xml。如果要從layout-land文件夾加載xml,則必須手動更改覆蓋並自己處理配置更改。看看我的回答here

+0

但現在的問題是,當我打開風景模式比我得到了我的風景視圖,但我的mediaplayer對象被重新創建,我有2個音樂在同一時間播放..當我改變方向 –

+0

時,我可以避免啓動mediaplyer作爲我的自定義視圖連接到mediaplyer對象這就是爲什麼當我轉向風景模式mediaplayer開始新玩家並播放聲音, –

相關問題