2012-04-28 14 views
1

私はちょっと前にアプリローテーションロッカーをインストールしました。それはシンプルなアプリですが、とてもうまく動作します。それは他のすべてのアプリを風景モードまたはポートレートモードで強制的に実行することができます。 私はそれがどのようにできるのか理解するのに苦労しています。誰も私に教えてもらえますか?「回転ロッカー」はどのように機能しますか?

答えて

0

おそらく、[検索]ボタンやその他のボタンを押したままにすることができます。

これは、HTCの欲望一緒に、私はまさにこれを行うために必要私が書いていたアプリのためにこれをうまくする方法ができた他の記事からのデータを組み合せる

+0

あなたの返信ありがとうございますが、私はあなたが私が尋ねたものを理解していないと思います。私が本当に知りたいのは、それと同様のアプリを作るにはどうすればいいのかということです。 –

1

に動作する方法です。 (もし興味があればForce Dock Rotation)。

私のソリューションは、これに...

orientationChanger = new LinearLayout(this); 
// Using TYPE_SYSTEM_OVERLAY is crucial to make your window appear on top 
// You'll need the permission android.permission.SYSTEM_ALERT_WINDOW 
WindowManager.LayoutParams orientationLayout = new WindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 0, PixelFormat.RGBA_8888); 
// Use whatever constant you need for your desired rotation 
orientationLayout.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR; 

WindowManager wm = (WindowManager) this.getSystemService(Service.WINDOW_SERVICE); 
wm.addView(orientationChanger, orientationLayout); 
orientationChanger.setVisibility(View.VISIBLE); 

クレジットをウィンドウを作成し、別のアプリがそれを設定しようとする前に、オリエンテーションの最初の叫びを得ることができるように、ビュー階層の最上位にそれを挿入する必要インスピレーションのための答え:How can I globally force screen orientation in Android?

+0

あなたが共有しているコードが私のために働いていません。私はデバイスのデフォルトの向きをある状態でポートレートにしたいと思っています。私はそのイベントを受け取ったときに私はあなたのコードを書いていましたが、その方向をLandscapeに変えていません。 –

関連する問題