問題タブ [orientation-changes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - UIImageViews を含む UIScrollView の回転を適切に処理するにはどうすればよいですか?
写真アプリによく似た画像ビューアを開発しています。
これは、インターネットから読み込まれた画像でページングが有効になっている UIScrollView であるため、LazyTableImages サンプルの一部を変更しました。スクロール ビューとその中の各 ImageView には、すべての自動サイズ変更マスク フラグが設定されています。
回転中にサイズ変更がどのように行われているかを最初に観察したときは、問題ないように見えましたが、スクロール ビューを操作しようとすると、contentView のサイズもプログラムで変更する必要があることに気付きました。ビューコントローラーに didRotateFromInterfaceOrientation: を実装することでそれを行いました。
インタラクションが適切に動作していると、2 番目の写真を表示して回転させると、1 番目と 2 番目の写真の両方の部分が画面に表示されることがわかりました。contentOffset も変更する必要がありました。
UIScrollView の scrollRectToVisible:animated: メソッドを使用する方法と、contentOffset プロパティを直接設定する方法の両方で、この 2 つの方法を修正しようとしました。そして、このコードを Orientation の変化に対する "1 ステップ" と "2 ステップ" の両方の応答の実装に入れてみました。例えば:
ただし、すべての場合において、それは地獄のようにぎこちなく見えます。スクロールがはっきりと見えるか、ジャンプするだけです。ううううううう!写真アプリとまったく同じように動作するようにこれを行う方法はありますか?
android - Android:仕上げ時にウィンドウがリークする
私は他のウィンドウリークの投稿を読み、そこに何が役に立たないかを示唆したことを試しました。
A、B、Cの3つのアクティビティがあります。アクティビティAは、ユーザーから情報を収集します。アクティビティBは、別のスレッドのサーバーと通信している間、回転するProgressDialogを表示します。スレッドが終了すると、ProgressDialogを閉じて、次のアクティビティを開始します。アクティビティCは、サーバーからユーザーへの情報を表示します。アクティビティBは、ユーザーがCからヒットバックしたときにAにフォールバックするように設定されています。
これらのタスクが別々のアクティビティにあることが重要です。
現在のところ、次のシナリオを除いて、アプリはほとんどの場合正常に動作します。アクティビティAに戻る前にユーザーがアクティビティCで向きを変更すると、ウィンドウリークが原因でアプリがクラッシュします。
- istart Cの前にアクティビティBのonPause()でProgressDialogを閉じています。
- ハンドラーを使用してメインスレッドと別のスレッドでProgressDialogを閉じようとしました。
- ユーザーがCで向きを変更しない場合、ウィンドウリークは発生しません。
何か案は?TIA
android - Android、ビューの維持
私のアプリケーションには、ネットワーク部分と GUI の 2 つの部分が含まれています。ブラウザのように機能します。ユーザーがサーバーに情報を要求し、サーバーがビューを表すデータを送り返し、GUI がそれを表示します。
現在、ネットワーク部分をサービスとして実装しました。これは、すべてのビューをそれ自体で構築および保持します。アクティビティが作成されると、ネットワーク パーツはそのコンテンツ ビューを最後に受信したビューに設定します。
これは非常に簡単です。すべてのビュー階層を再作成してすべての状態を保存する必要はありません。
しかし、問題があります - サービス コンテキスト内でビューを作成できます。アクティビティの起動間でビューを保持できます。アクティビティが破棄されて作成されたときにビューをアンバインドおよび再バインドできますか? ただし、一部のビューにはアクティビティ コンテキストが必要です (例: ポップアップ ダイアログを作成するスピナー)。
では、作成後にビューのコンテキストを変更する方法はありますか?
私はAndroidプログラミングに非常に慣れていないので、これを行うためのより良い方法があるかもしれません(タスクは、たとえば、画面の回転が発生したときに、アクティビティが破棄および再作成されたときにビュー階層とすべての状態を維持することです)。
android - Titanium Appceleratorの向きの変更は発生しません
orientationchange
チタン製のアクセラレータに問題があります。タブ間を移動する場合orientationchange
、縦向きと横向きを切り替えるとイベントが発生しません。
これが私のコードです
再現手順は次のとおりです。
- タブ 2 に切り替えてから、横向きモードに入ります (アラートが表示されます)。
- タブ 1 に戻り、電話を縦向きモードに回転します (アラートは表示されません)。
- イベントは発生しません。(その後のイベントは通常通り発生します (アラートが表示されます))
誰でも回避策について考えがありますか? ビューを変更する必要があるため、それが必要ですonorientationchange
。Titanium Appcelerator 1.2.2、モバイル バージョン 1.6、Api 2.2 を使用しています
android - 向きを変えるとキーボードが非表示になります
Androidフォンの向きが横向きに変わると、キーボードが非表示になります。キーボードを表示するにはどうすればよいですか?
javascript - appcelerator 方向変更 navbar 画像の非表示 / 表示
iPhone用のいくつかのタブを備えたアプリを構築しています。ここでappceleratorのウェブサイトの質問を言い換えました
縦向きから横向きに変更するとき、ナビゲーションバーを非表示にしたい。
別のタブに切り替えなければ問題なく動作します。しかし、ポートレートで1つのタブを表示し、別のタブに切り替え、ランドスケープビューに変更し、最初のタブに戻ってからポートレートに変更すると、ナビゲーションバー(window.barImage)がすべて引き伸ばされます(ランドスケープのサイズに)ナビゲーションバー)
また、ナビゲーション バーを非表示にするコードをすべて削除すると、同じ問題が発生します。
orientationchange で barImage を再度設定しようとしましたが、それも役に立ちません。
サイト ノート: navBar のすべてのタブで同じ画像を使用していますが、それが問題でしょうか?
ナビゲーションバーの画像を緑色でマークしました。青色の部分は、画像が通常あるべき場所です。
また、画像はナビゲーション バーの縦向きビューに適したサイズであることにも注意してください。
コード:
android - Android:アクティビティを破棄する必要がある場合にのみ接続を閉じる
onCreate メソッド内でサーバーに接続するアクティビティがあります。画面を回転させても接続を開いたままにしておく必要があるため、静的変数への参照を保存します。
例:
Main から別のアクティビティを開く場合は接続を開いたままにする必要がありますが、Main アクティビティを閉じる場合は閉じる必要があります。
私が抱えている問題は、接続をいつ/どのように閉じるかわからないことです。onDestroy 内で閉じると、向きが変わるとアクティビティが再作成されるため、画面を回転すると破棄されます。アクティビティ フォーカスで閉じると、次のアクティビティに移動すると閉じられます。だから... Main アクティビティが必要ないときだけ閉じて、永久に破棄したいと思います。
どうやってそれをしますか?どうも!
iphone - iPhone SDK UIView の drawRect と向きの変更
私はこのコードを書きました... plotView は drawRect メソッドによってプログラムで描画されます...問題は、デバイスの向きを変更したときです...すべてのビューが適切にスケーリングされません...自動サイズ変更マスクの問題は何ですか? setNeedsDisplay などで遊ぶ必要がありますか?
前もって感謝します!
}
android - 向きの切り替えエラー: フラグメント エラー - ID、タグ、または親 ID 0x0 が重複しています
フラグメントSearchPageFragment
(タブレットのメイン ビューを表す) があり、その中に 2 つのフラグメントが含まれています。
すべて正常に動作 - ページが読み込まれ、すべて正常に動作します...向きを変更するまで。実行すると、次のエラーが発生します。
向きを切り替えたときの呼び出しシーケンスは次のとおりです。
コンテナ Fragment が向きの変更で 2 回呼び出される理由を知っている人はいますか?
iphone - AV Foundation 使用時の AV ビデオ プレビュー エリアおよびその他の要素の回転
UIImagePickerController を使用して静止画像をキャプチャするプロジェクトを開始しました。オーバーレイとキャプチャしたばかりの画像との相互作用が不十分だったため、この単純なメカニズムの使用を断念しました。問題は次のとおりです。オーバーレイをアクティブにして写真をスナップすると、スナップしたばかりの画像が回転して、縦向きのアスペクト フィルが行われ、ユーザーに画像を使用または再撮影するオプションが表示されます。これが発生した場合、オーバーレイを閉じたり、新しい静止画像プレビューの向きに対応するようにオーバーレイを回転したりする方法はありません。良くない。
AV Foundation のさまざまなメカニズムを使用して、UIImagePickerController の静止画像キャプチャ動作を再実装することにしました。これは驚くほど簡単にセットアップできましたが、まだいくつかの問題が残っています。
1) 標準の UIImagePickerController で UI がどのように機能するかに似るように、メカニズムの方向を変更したいと考えています。このコントローラーでは、ご存じのとおり、携帯電話をどのように回転させても、ボタン バーは常に縦向きの下部に固定されたままです。このボタン バー内では、ボタン自体のグリフが回転しますが、それ以外はすべて固定されたままです。フラッシュ セット、カメラの切り替え、およびオプションのオーバーレイ コントロールは、再配置されます。これらの他の要素を回転させている間、このタブバーを固定したままにするにはどうすればよいですか? 特定の要素を回転から除外する方法はありますか?
2) 自動再配向を行う際に、AVVideoCaptureLayer を常にライブのままにして、画面全体を占有するようにします。デバイスが方向転換の回転を実行すると、このレイヤーのサイズが異常に大きくなり (縮小され)、ビデオ フィード自体が 90 度ずれます。したがって、明らかにこのレイヤーは回転していますが、全画面サイズにはなっておらず、ビデオ フィード自体が期待どおりに動作していません。ビデオを固定したままにして、完全な回転で全画面を占有し、回転中にプレビューのサイズを変更しないでください。しかし、特定の要素を再配置して、項目 1 のようにできるようにしたいです。
これを実現する方法を示すサンプル コードは大歓迎です。