個人的には、デザインをより簡単に制御できるため(レイアウト、さまざまなウィンドウオプション、サイズなど)、ダイアログの代わりに新しいアクティビティを開くのが好きです。さらに、コンポーネントのリスナーなどをすべて処理する方がはるかに簡単だと感じています。しかし、アクティビティではなくダイアログを実行することにはどんな利点がありますか?それは速く、より少ないメモリを使い果たしていますか?ダイアログの悪い習慣の代わりに活動を開始していますか?
1
A
答えて
2
まず、カスタムダイアログを作成して、基本的には見たいと思うことができます。しかし、あなたの質問への直接的な答えとして、私が考えることができる唯一の欠点は次の通りです。a)オリジナルのアクティビティは現在、それが殺される可能性のあるonStop状態にあります。b)アクティビティ全体を追加するために、 、ダイアログの代わりに。それは言われている、すべての時間と場所があります。
+0
私はonStopが問題であると考えたことはありませんでしたが、それは良い点です。一般的には、より堅牢なダイアログと基本的なダイアログのためのアクティビティを使用します。しかし、あまりにも大きな問題ではないように思えます。 –
パフォーマンス上のメリット(もしあれば)はわかりませんが、ダイアログの代わりにアクティビティを使用する主な理由の1つは、その動作がどのように状態変更で処理されるかです。画面の向きが変わります。画面が回転しているときに最も基本的なダイアログでも例外がスローされます。 – rf43
'Activity'の' theme'を(Android Manifestの) 'dialog'に設定することを考えましたか?これは 'Activity'をダイアログとして起動します。 "android:theme =" @アンドロイド:style/Theme.Dialog " – Phil
私は正しく回転するダイアログをたくさん持っています... – Pyrodante