5

仮想 Android デバイスを作成し、480x800それを実行しました。画面を変更する方法orientation(縦 - 横、 // / CTRL+F11)CTRL+F12を既に見つけたので、これらのキーを使用して を変更しました。KP7KP9orientation

しかし、これらのキーのいずれかを試すと、仮想画面が 90 度回転しますが、向きは変わりません。したがって、ボタンは画面上に垂直に配置され、すべてのテキストも同様です。ちょうど 90 度回転している写真のように。

仮想度を実際に他のレイアウト ファイルに切り替えるにはどうすればよいです(/res/layout-land/activity_entry.xml)か? landscape/portraitEclipse のグラフィカル ビューアは、正しく切り替えることができます。

EDIT
このメソッドのすぐ下のアクティビティにこの部分を追加しましたonCreateOptionsMenu(Menu menu) が、アプリケーションは画面の向きの変更を認識しません。

@Override
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig);
    Context context = getApplicationContext();
    CharSequence text = "Orientation changed";
    int duration = Toast.LENGTH_SHORT;

    Toast toast = Toast.makeText(context, text, duration);
    toast.show();
}

EDIT 2メソッド内から
呼び出すと、うまく機能します。this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)onCreate()

4

6 に答える 6

2

そのアクティビティのマニフェスト ファイルに android:screenOrientation が設定されているかどうかを確認します。もしそうなら、それを削除して確認してください。

動作しない場合は、Android の問題フォーラムで報告されたバグのようです。ここをチェック

于 2012-08-27T13:18:00.613 に答える
1

最初に番号ロックをオフにしてから、7または を押し9て、エミュレーターの向きが変更されていることを確認します。エミュレーターの向きを変更する他の方法はctrl+を押しf12ます。

于 2012-08-27T13:22:22.270 に答える
1

私が行ったように、向きの変更は実際に行われましたが、画面は予想よりも数秒遅れて変更されただけでした。つまり、答えは「忍耐バッタ」かもしれません。

于 2013-12-04T19:47:54.717 に答える
0

最近これに遭遇しましたが、ここで提供された回答では解決しませんでした。しかし、私はこの投稿を見つけました:

Android エミュレーターが横向きに回転しない

これは、一部のエミュレーター ターゲット (たとえば、私が使用していた 19) にバグがあることを示しています。

ターゲットを 17 に変更するだけで、ローテーションが正しく機能し始めました。

于 2015-01-04T00:11:31.370 に答える