我有一個Android應用程序,其中包含一個Activity和一個具有多個片段的自定義ViewPager。我的整個活動被鎖定在肖像中,但現在我需要在特定片段內檢測設備處於橫向狀態並啓動另一個鎖定在橫向上的活動。在這項新的活動中,當用戶將設備放在肖像中時,我會關閉它並返回肖像活動。 這是AndroidManifest.xml中的代碼:Android:檢測屏幕方向更改,如果方向鎖定
<activity
android:name="com.mypackage.MainActivity"
android:configChanges="orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light" >
</activity>
,這裏面的代碼片段應該檢測的景觀:
public void onConfigurationChanged(Configuration myConfig) {
int orient = getResources().getConfiguration().orientation;
switch (orient) {
case Configuration.ORIENTATION_LANDSCAPE:
//Launch new activity
break;
}
}
現在,我已經注意到,onConfigurationChanges從不叫這個清單的配置,但只有當我刪除
android:screenOrientation="portrait"
有一種方法來保持MainActivity鎖定縱向和攔截景觀嗎?
,因爲我有一個ViewPager我的活動,旨在爲只在畫像裏面工作,因爲我需要僅當用戶在特定片段上時才切換肖像 – giozh
那麼看起來你得到的東西設計不正確,因爲這種ViewPager只能用於肖像。但它不應該意識到方向,因爲它不應該是它的任務 –