3

以下は私のコードです。
画面の向きの自動変更を無効に設定したい。
画面の向きの自動変更を有効にします。

class NewLoad extends AsyncTask<String, String, String> {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            progDailog = new ProgressDialog(this);
            progDailog.setMessage("test");
            progDailog.setIndeterminate(false);
            progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            progDailog.setCancelable(false);
            progDailog.show();
            //set disable auto change
        }

        @Override
        protected String doInBackground(String... aurl) {
            //do something
            return null;
        }

        @Override
        protected void onPostExecute(String unused) {
            super.onPostExecute(unused);
            progDailog.dismiss();
            //set enable auto change
        }
    }

どうすればいいですか?

4

3 に答える 3

7

アクティビティをマニフェストで次のようにします

  <activity
                android:name=".Hello"
                android:label="@string/app_name"
                android:screenOrientation="portrait"   <-- Screen will be forced to have portrait
                android:configChanges="orientation|keyboardHidden|screensize" > <-- No Restart in these cases

ScreenSize 属性は 4.0 で追加されたようですので、4.0 未満で実行している場合は言及しないでください。

于 2012-06-14T07:06:53.210 に答える
2
disable auto change screen orientation.And enable auto change screen orientation.

やりたいならat run time

試す :

  1. http://thinkandroid.wordpress.com/2009/12/27/handling-configuration-changes-or-not/のように、必要に応じてブール値のフラグを保持します
  2. onconfigurationchanged をオーバーライドし、true の場合は super.onconfigurationchanged への呼び出しを渡します。false の場合は super.onconfigurationchanged への呼び出しを渡しません。
于 2012-06-14T06:51:40.707 に答える
1

実行時:

センサーをブロックしたい場合:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

アクティベートする場合:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);

http://developer.android.com/reference/android/app/Activity.html

于 2012-07-10T08:59:37.177 に答える