タグ付けされた質問 「orientation」

方向とは、上、下、左、または右に何かが向いている、または保持されている方法です。通常、向きは縦(または垂直)と横(または水平)を区別します。


11
「ポートレート」方向モードを強制する
私のアプリケーションは完全に「横長」モード用に設計されていないため、アプリケーションに「縦長」モードを強制しようとしています。 いくつかのフォーラムを読んだ後、マニフェストファイルに次の行を追加しました。 <application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name" android:screenOrientation="portrait"> しかし、私のデバイス(HTC Desire)では機能しません。マニフェストファイルの行を無視して、「portrait」または「landscape」から切り替えます。 さらにフォーラムを読んだ後、これをマニフェストファイルに追加しようとしました。 <application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name" android:configChanges="orientation" android:screenOrientation="portrait"> そして私の活動クラスのこの関数: public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } しかし、再び、運はありません。

8
バックグラウンドタスク、進行状況ダイアログ、向きの変更-100%有効な解決策はありますか?
バックグラウンドスレッド(私はを使用AsyncTask)でインターネットからデータをダウンロードし、ダウンロード中に進行状況ダイアログを表示します。向きが変更され、アクティビティが再起動されてから、AsyncTaskが完了します。進捗ダイアログを閉じて、新しいアクティビティを開始したいと思います。ただし、dismissDialogを呼び出すと例外がスローされる場合があります(おそらく、アクティビティが破棄され、新しいアクティビティがまだ開始されていないためです)。 この種の問題(ユーザーが向きを変えても機能するバックグラウンドスレッドからUIを更新する)を処理する最良の方法は何ですか?Googleの誰かが「公式の解決策」を提供しましたか?

9
現在の画面の向きを取得するにはどうすればよいですか?
アクティビティがonCreate()で再作成されるときに、ポートレートとランドスケープのどちらにロードするかを切り替えることができるように、向きがランドスケープのときにいくつかのフラグを設定したいだけです。私はすでに私のレイアウトを処理するlayout-land xmlを持っています。 public void onConfigurationChanged(Configuration _newConfig) { if (_newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { this.loadURLData = false; } if (_newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { this.loadURLData = true; } super.onConfigurationChanged(_newConfig); } onConfigurationChangedをオーバーライドすると、layout-land xmlが横向きで読み込まれなくなります。 onCreate()でデバイスの現在の向きを取得したいだけです。どうすれば入手できますか?

18
[UIScreen mainScreen] .bounds.sizeはiOS8で向きに依存しますか?
iOS 7とiOS 8の両方で次のコードを実行しました。 UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; BOOL landscape = (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight); NSLog(@"Currently landscape: %@, width: %.2f, height: %.2f", (landscape ? @"Yes" : @"No"), [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height); 以下は、iOS 8からの結果です。 Currently landscape: No, width: 320.00, height: 568.00 Currently landscape: Yes, width: …

14
iPhone Webアプリケーションで向きを縦向きモードにロックするにはどうすればよいですか?
iPhone Webアプリケーションを作成していて、向きを縦向きにロックしたい。これは可能ですか?これを行うためのWebキット拡張機能はありますか? これは、Mobile Safari用のHTMLおよびJavaScriptで記述されたアプリケーションであり、Objective-Cで記述されたネイティブアプリケーションではないことに注意してください。

20
Android WebView:向きの変更の処理
問題はローテーション後のパフォーマンスです。WebViewはページをリロードする必要がありますが、これは少々退屈な作業です。 毎回ソースからページをリロードせずに向きの変更を処理する最良の方法は何ですか?

10
縦向きと横向きに異なるレイアウトを指定するにはどうすればよいですか?
アクティビティ用に2つの個別のレイアウトxmlファイルを指定できることへの言及を見てきました。1つはポートレート用、もう1つはランドスケープ用です。私はそれを行う方法についての情報を見つけるために行ったことはありません。アクティビティごとに、どのxmlファイルがポートレートレイアウトで、どちらがランドスケープレイアウトかを指定するにはどうすればよいですか? 画面サイズごとに異なるレイアウトを指定することもできますか?もしそうなら、これはどのように行われますか?


8
Android-カメラのプレビューが横向き
カメラの画面をプレビューで表示しています。 すべてが正常に機能し、サーフェスが作成され、サーフェスが設定され、サーフェスが表示されます。 ただし、ポートレートモードでは常に誤った90度の角度で画像が表示されます。 写真のような: 次のコードを使用すると、画像が正しく設定されることを認識しています。 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); しかし、他の要素が含まれているアクティビティ内にプレビューがあり、私のアクティビティを横向きモードで表示するのは意味がありません。(デフォルトでは無効になっています) だからとにかくプレビューの向きを変えるだけの方法があるのだろうか?そして、残りのアクティビティを縦向きモードで正しく表示したままにしますか? それとも正しくプレビューが表示されるようにプレビューを回転させますか?

7
向きの変更に対するAndroidフラグメントのライフサイクル
互換性パッケージを使用して、フラグメントを使用して2.2をターゲットにします。 アプリでフラグメントを使用するようにアクティビティを再コーディングした後、方向の変更/状態管理を機能させることができなかったため、単一のFragmentActivityと単一のFragmentを持つ小さなテストアプリを作成しました。 方向の変更からのログは奇妙で、フラグメントOnCreateViewへの複数の呼び出しがあります。 新しいインスタンスを作成するのではなく、フラグメントをデタッチして再アタッチするような何かが明らかに欠けていますが、どこが間違っているのかを示すドキュメントが表示されません。 誰かが私がここで間違っていることについていくつかの光を当てることができますか?ありがとう 向きを変えた後のログは以下の通りです。 Initial creation 12-04 11:57:15.808: D/FragmentTest.FragmentTestActivity(3143): onCreate 12-04 11:57:15.945: D/FragmentTest.FragmentOne(3143): OnCreateView 12-04 11:57:16.081: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState null Orientation Change 1 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): onSaveInstanceState 12-04 11:57:39.031: D/FragmentTest.FragmentTestActivity(3143): onCreate 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState not null 12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView 12-04 11:57:39.167: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState …

7
実行時に方向をロックする方法
実行時に方向をロックする方法はありますか?たとえば、ユーザーが現在横向きの場合に画面を横向きにロックし、メニューオプションを切り替えることを許可します。

4
コンパスを含むAndroidスマートフォンの向きの概要
私はしばらくの間、Androidの方位センサーに頭を悩ませてきました。理解できたと思いました。その後、私はそうではないことに気づきました。今、私は(希望)私はそれについて再び良い気持ちを持っていると思いますが、私はまだ100%ではありません。私はそれについて私のパッチの理解を試みて説明します、そしてうまくいけば、私が部分で間違っているか、どんな空白を埋めても、人々は私を訂正することができるでしょう。 経度0度(本初子午線)と緯度0度(赤道)に立っていると思います。この場所は、実際にはアフリカの沖合の海にありますが、我慢してください。スマートフォンの底面が私の足を指すように、スマートフォンを顔の前で持ちます。私は北を向いているので(グリニッジの方を向いています)、電話の右側は東をアフリカに向けています。この方向で(下の図を参照して)、X軸は東を指し、Z軸は南を指し、Y軸は空を指します。 これで、電話のセンサーを使用して、この状況でデバイスの向き(場所ではなく)を計算できます。この部分はいつも私を混乱させました、おそらくそれがうまくいくことを受け入れる前に何かがどのように働いたか理解したかったからでしょう。電話は2つの異なる技術の組み合わせを使用してその方向を解決しているようです。 その前に、上記の方向に立っている、緯度と経度0度の架空の土地に戻って立っているところを想像してみてください。また、目隠しをされていて、靴が遊び場のラウンドアバウトに固定されているとします。誰かがあなたを後ろに突き刺した場合、あなたは前に(北に向かって)倒れ、あなたの落下を壊すために両手を外に出します。同様に、誰かがあなたに左肩を突きつけた場合、あなたは右手に倒れます。内耳には「重力センサー」(youtubeクリップ)があり、前方/後方に落下したり、左/右に落下したり、倒れたり(または上に倒れたり)したかどうかを検出できます。したがって、人間は電話と同じX軸とZ軸を中心とした位置合わせと回転を検出できます。 今、誰かが今あなたを東に向くようにラウンドアバウトで90度回転させたと想像してください。Y軸を中心に回転しています。生物学的には検出できないため、この軸は異なります。ある程度の角度がついていることはわかっていますが、惑星の北磁極との関係で方向はわかりません。代わりに、外部ツール...磁気コンパスを使用する必要があります。これにより、どの方向を向いているかを確認できます。同じことが私たちの電話にも当てはまります。 今、携帯電話にも3軸の加速度計があります。私が持っているNOをそれらが実際にどのように機能するかを考えますが、私がそれを視覚化する方法は、重力が空から落ちる一定で均一な「雨」であると想像し、上図の軸が流れる雨の量を検出できるチューブであると想像することです。電話が直立していると、すべての雨がY字型の「チューブ」を通って流れます。携帯電話を徐々に回転させて画面を上に向けると、Yを流れる雨の量はゼロに減少し、Zを通る量は最大の雨が流れるまで着実に増加します。同様に、電話を横向きに傾けると、Xチューブは最終的に最大量の雨を収集します。したがって、3つのチューブを流れる雨の量を測定することにより、電話の向きに応じて、向きを計算できます。 携帯電話には、通常のコンパスのように動作する電子コンパスもあります。その「仮想針」は磁北を指します。アンドロイドマージたびように、これらの二つのセンサからの情報SensorEventのがTYPE_ORIENTATION生成されvalues[3]、配列が持つ 値[0]:方位- (磁北のコンパス方位東) 値[1]:ピッチ、x軸周りの回転が(電話です前方または後方に傾く) 値[2]:ロール、y軸を中心とした回転(電話が左側または右側に傾いている) したがって、Androidが3番目の加速度計の読み取りではなく方位角(方位角方位)を与える理由(つまり、私にはわかりません)は、方位角方位計の方がより有用であると考えています。彼らがこのタイプのセンサーを非推奨にした理由はわかりません。現在SensorEvent、タイプののシステムにリスナーを登録する必要があるようですTYPE_MAGNETIC_FIELD。イベントのvalue[]配列はSensorManger.getRotationMatrix(..)、SensorManager.getOrientation(..)メソッドに渡される回転行列(以下を参照)を取得するためにメソッドに渡される必要があります。Androidチームが廃止された理由を誰かが知っていSensor.TYPE_ORIENTATIONますか?効率的なことですか?これは、同様の質問へのコメントの1つに示されていますが、別のタイプのリスナーをdevelopment / samples / Compass / src / com / example / android / compass / CompassActivity.javaの例。 回転行列についてお話ししたいと思います。(これが私が最もよくわからないところです)したがって、上記のAndroidドキュメントの3つの図は、A、B、Cと呼びます。 A = SensorManger.getRotationMatrix(..)メソッドの図で、世界の座標系を表します B = SensorEvent APIで使用される座標系。 C = SensorManager.getOrientation(..)メソッド図 つまり、私の理解では、Aは「世界の座標系」を表していると私は考えています。これは、惑星上の位置が(緯度、経度)カップルとオプションの(高度)として与えられる方法を指していると思います。Xは「東座標」、Yは「北座標」です。Zは空を指し、高度を表します。 図Bに示す電話の座標系は固定されています。Y軸は常に上を指します。回転行列は常に電話によって計算され、2つの間のマッピングを可能にします。それで、回転行列がBの座標系をCに変換すると私は考えるのは正しいですか したがって、SensorManager.getOrientation(..)メソッドを呼び出すvalues[]ときは、図Cに対応する値を持つ配列を使用します。電話が空を指している場合、回転行列は単位行列(1と数学的に同等の行列)です。これは、デバイスが整列しているため、マッピングが不要であることを意味します世界の座標系で。 OK。もうやめた方がいいと思います。前に言ったように、私が人を台無しにしたり、人を助けたりした場所(またはさらに混乱した人!)

4
iOS 8で向きの変更を処理する「正しい」方法は何ですか?
iOS 8で縦向きと横向きのインターフェースの向きを操作する「正しい」または「最良の」アプローチを誰かに教えてもらえますか?私がその目的で使用したいすべての機能はiOS 8で非推奨になっているようで、私の研究では明確でエレガントな代替手段が見つかりませんでした。幅と高さを見て、ポートレートモードかランドスケープモードかを自分で判断する必要があるのでしょうか。 たとえば、私のビューコントローラーでは、次の擬似コードをどのように実装すればよいですか? if we are rotating from portrait to landscape then do portrait things else if we are rotating from landscape to portrait then do landscape things

15
Androidでのカメラの向きの問題
カメラを使用して写真を撮るアプリケーションを作成しています。これを行うための私のソースコードを次に示します。 File file = new File(Environment.getExternalStorageDirectory(), imageFileName); imageFilePath = file.getPath(); Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); //Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult(intent, ACTIVITY_NATIVE_CAMERA_AQUIRE); 上のonActivityResult()方法で、私が使用しBitmapFactory.decodeStream()撮影にイメージを。 Nexus 1でアプリケーションを実行すると、うまく動作します。しかし、Samsung Galaxy SまたはHTC Inspire 4Gで実行すると、画像の方向が正しくありません。 ポートレートモードでキャプチャすると、実画像(SDカードに保存)は常に90度回転します。 撮影後の画像プレビュー--------- SDカード上の実際の画像 横向きモードでキャプチャし、すべてが良好です。 撮影後の画像プレビュー--------- SDカード上の実際の画像

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.