2

我的主要活动在画布上有 4 个图像,屏幕方向为“纵向”。当我遍历屏幕方向为“横向”的子活动时。

问题:当我从子 Activity 回到主 Activity 时,4 个图像被重新定位到不同的位置。我需要解决这个问题,以便即使屏幕方向发生变化,活动也可以正常工作。

提前致谢。

布局

<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>
4

3 回答 3

0

您可以在 android manifest 文件中将方向设置为主要活动的纵向和子活动的横向。

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

同样将方向设置为儿童活动的横向。

于 2013-03-18T05:18:18.303 回答
0

您可以像这样在清单中为活动添加方向

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

或者你可以像这样在java文件中设置布局方向

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
于 2013-03-20T10:18:29.540 回答
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:screenOrientation="portrait"如果您希望 Android 将方向锁定为纵向或横向,您也可以在 configChanges 语句之后添加。

希望这可以帮助!很想听到你的结果。

于 2013-03-19T14:20:21.600 回答