我现在做的应用屏幕左侧旋转的时候 程序有问题,会崩溃,所以想只允许用户可以向左侧和上方两个方向上旋转屏幕,想问一下大家有知道怎么实现吗?网上查到的资料都是怎么去固定一个方向的,没有找到这方面资料,希望了解的朋友告知一声,谢谢!
PHPz2017-04-17 17:22:37
<activity> ノードの android:screenOrientation 属性でこのタスクを完了できます。サンプル コードは次のとおりです。 リーリー
2. 画面回転効果を強制的にオンにしますthis.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
① 現在のアクティビティの onSaveInstanceState(Bundle outState) を呼び出して、アプリケーションにデータを保存します。このメソッドはオーバーライドできます。②次に onDestroy() を呼び出して現在のアクティビティを破棄します
③onCreate() または onRestoreInstanceState() メソッドを呼び出してアクティビティを再作成します (つまり、プログラムは onCreate のコードを再実行します)
さらに、onSaveInstanceState(Bundle outState) の使用方法について説明する必要があります。このメソッドは、画面が回転するときに呼び出されます。ここでの Bundle パラメーターは、画面が回転するまでの時間をカプセル化します。データを保存したい場合は、onDestroy() を呼び出して現在のアクティビティを破棄し、最後に onCreate(Bundle SavedInstanceState) を再度呼び出します。このとき、onCreate でアクティビティを再作成すると、outState が SavedInstanceState に割り当てられます。以前に保存したデータは、再作成されたアクティビティの初期化に使用されます。これは、横画面か縦画面かに関係なく、アプリケーションの実行プロセス全体でデータの変更が一貫している必要があるため、非常に重要です。画面が変わったからといって変更することはできず、最初からやり直しになります
また、onSaveInstanceState(Bundle outState) メソッドは画面回転時に必ずトリガーされるため、このメソッドを完全に画面回転のモニターとして使用できますこれが例です:
*Android では、ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE および ActivityInfo.SCREEN_ORIENTATION_PORTRAIT は完全に垂直または水平の場合のみ返せると規定されているため、水平画面か垂直画面かを判断するのは簡単ではないことに注意してください。 、そしてこれは実際にはほとんど不可能です。
最初: 許可ステートメント:
<uses-permission Android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>
ここに方向性がない場合、プログラムで画面変更イベントをキャプチャできません。
3 番目: Activity の onConfigurationChanged メソッドを書き換えます