2

我的主要活動有4個圖像,屏幕方向爲「肖像」。當我遍歷具有屏幕方向爲「風景」的子Activity時。問題:在不同的活動中更改屏幕方向

問題:當我從孩子活動回到主活動時,4個圖像被重新分配到不同的位置。我需要解決這個問題,以便即使屏幕方向發生變化,Activity也可以正常工作。

在此先感謝。

佈局

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Black"> 
    <activity 
     android:name=".DragDrop" 
     android:label="@string/title_activity_main" 
     android:screenOrientation="landscape" 
     android:configChanges="orientation|screenSize|keyboardHidden" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 


    <activity 
     android:name=".QuizHard" 
     android:label="@string/title_activity_main" 
     android:screenOrientation="landscape" 
     android:configChanges="orientation|screenSize|keyboardHidden" > 

     <intent-filter> 
      <action android:name="android.intent.action.QUIZHARD" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

</application> 
+0

當你回來的時候,什麼是定位?發佈您的佈局。 – minhaz 2013-03-18 04:50:42

回答

0

可以設置取向主要活動在Android清單文件子活動景觀的肖像。

 <activity android:name="Main" 
     android:screenOrientation="portrait"/> 

類似地爲兒童活動設置景觀方向。

0

您可以將語句添加到您的AndroidManifest.xml文件,以告訴它處理某些屏幕更改,如方向更改。通常情況下,當方向改變時,一個新的佈局被加載並重新創建屏幕,通過將這個語句添加到清單文件中,它不會重新創建視圖。更改活動的活動聲明並添加此聲明。

<activity 
     android:name=".MainActivity" 
     android:configChanges="orientation" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

android:configChanges="orientation"將防止從Android的重新創建的活動,從而防止它從重新加載視圖和改變圖像的位置。如果您希望Android將方向鎖定爲縱向或橫向(如果需要),您還可以在configChanges語句後面添加android:screenOrientation="portrait"

希望這有助於!希望能夠從結果中聽到你的迴音。

0

你可以這樣

<activity android:name="Main" android:screenOrientation="portrait"/> 

在清單中添加定向活動,或者您可以設置佈局方向上的Java文件這樣

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);