2011-11-24 156 views
1

我有一個Android應用程序始終處於縱向模式。不過,我希望以全屏橫向模式顯示視圖,而無需橫向模式下的活動或應用程序。如何在應用程序處於縱向模式時強制處於橫向模式的視圖的xml?

我不想在我的代碼中旋轉,因爲我想保持簡單並在xml中定義佈局。也有不同的屏幕分辨率,它可能無法正常工作並改變我的佈局。但如果這是唯一的解決方案,我該怎麼做?Android:在應用程序處於縱向時在橫向顯示視圖

+0

縱向顯示全屏幕橫向視圖(例如,縱向顯示縮略圖,然後顯示橫向全景圖像)? – FunkTheMonk

+0

不,我使用OrientationEventListener檢測到風景的變化,然後從底部向上動畫滑動以顯示全屏視圖。 – ffleandro

+0

你不能在橫向上製作XML ..因爲你想要像橫向上的肖像和視圖頂部的活動標題欄..然後在XML中使視圖,因爲它看起來像在景觀和顯示它.. – MKJParekh

回答

1

我不認爲你可以通過XML來做到這一點。事實上,我不認爲有一個簡單的解決方案。如果你有一些非常簡單的東西,你可以重寫onDraw方法,rotate the Canvas,然後繪製視圖。如果你有更復雜的行爲,比如滾動,那麼它最終會做很多工作。

爲什麼要在橫向模式下填充屏幕而不使橫向顯示活動?這背後的推理是什麼?

+0

我的活動是帶有3個選項卡的TabActivity。我想要的行爲是,當用戶將屏幕傾斜到風景時,我想顯示記分卡視圖從底部向上滑動的動畫(在這種情況下,因爲它處於風景中,它必須從左到右),而當他將其放回肖像,然後向下滑動。這是他會很快做的事情,只是爲了檢查分數,我不希望狀態欄改變爲風景,也不想重新創建我的整個tabactivity。我只想展示一下它的風景,但在風景中。這很難做到嗎? – ffleandro

+0

是的,不幸的是,據我所知,除非您的記分卡視圖非常簡單或自定義繪製,否則這是相當難做的事情。 – kabuko

+0

根據您的建議,我最終創建了一個新的橫向活動,該活動在我水平傾斜設備時開始。並不是我想要做的事情,但足夠合理。 – ffleandro

0

android:screenOrientation="landscape"添加到AndroidManifest.xml中的活動。例如:

 <activity android:name=".SomeActivity" 
       android:label="@string/app_name" 
       android:screenOrientation="landscape"> 
+1

閱讀我的問題。這迫使我的活動和應用程序處於橫向模式。我只想把景觀放在一​​個特定的佈局視圖中。 – ffleandro

+0

@screamingnoises,它只會將活動放入橫向,而不是您的應用。 – LuxuryMode

+0

好吧,如果它將狀態欄更改爲橫向,則該應用程序處於該活動的橫向狀態。我不想那樣。我也不想讓這個活動重現景觀中的一切。我只是希望這個觀點具體在景觀中。我不確定是否有可能,明天我會嘗試考慮更好的解決方案。 – ffleandro

相關問題