2

画面の向きを「ポートレート」として、キャンバス上に4つの画像があるメインアクティビティがあります。画面の向きが「風景」である子アクティビティに移動すると。

問題:子アクティビティからメインアクティビティに戻ると、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マニフェストファイルで、メインアクティビティの縦向きと子アクティビティの横向きに向きを設定できます。

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

同様に、子アクティビティの向きを横向きに設定します。

于 2013-03-18T05:18:18.303 に答える
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 がアクティビティを再作成するのandroid:configChanges="orientation"を防ぎ、ビューをリロードして画像の位置を変更するのを防ぎます。android:screenOrientation="portrait"Android で向きを縦向きまたは横向きにロックしたい場合は、configChanges ステートメントの直後に追加することもできます。

お役に立てれば!結果をご連絡いただければ幸いです。

于 2013-03-19T14:20:21.600 に答える
0

このように、マニフェストのアクティビティにオリエンテーションを追加できます

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

または、このようにJavaファイルでレイアウトの向きを設定できます

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
于 2013-03-20T10:18:29.540 に答える