この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
dialogfragmentを使ったカスタムダイアログ [2015/02/25 11:01] sou [ダイアログの表示] |
dialogfragmentを使ったカスタムダイアログ [2015/02/25 15:30] (現在) sou [Dialogの表示] |
||
---|---|---|---|
ライン 3: | ライン 3: | ||
表示したいようにxmlを編集して頂ければそのままダイアログとして表示されます。\\ | 表示したいようにxmlを編集して頂ければそのままダイアログとして表示されます。\\ | ||
MAX_HEIGHT, MAX_WIDTHを0.9Fにすれば縦横90%の大きさで表示されます。\\ | MAX_HEIGHT, MAX_WIDTHを0.9Fにすれば縦横90%の大きさで表示されます。\\ | ||
- | 画像のPopupWinodwのように一枚だけ画像を表示したい。などであれば、ImageViewをnewしてそのままsetContentView()にImageViewを渡してやればxmlは不要です。 | + | 画像のPopupWinodwのように一枚だけ画像を表示したい。などであれば、ImageViewをnewしてそのままDialog#setContentView()にImageViewを渡してやればxmlは不要です。 |
* ダイアログを終了する | * ダイアログを終了する | ||
ライン 52: | ライン 52: | ||
- | ===== ダイアログの表示 ===== | + | ===== Dialogの表示 ===== |
- | タグやリクエストコードなどはonActivityResultやDialog側でも使用するので、定数化しておいたほうが良さそうです。 | + | ActivityからFragmentDialog#show()で表示できます。第2引数にタグを設定することも出来ます。\\ |
+ | タグやリクエストコードは定数化しておいたほうが良さそう。 | ||
FragmentManager manager = getFragmentManager(); | FragmentManager manager = getFragmentManager(); | ||
ライン 71: | ライン 72: | ||
- | ===== 親Activityにコールバックを返す ===== | + | ===== Dialogから親Activityにコールバックを返す ===== |
+ | * Fragment側の実装 | ||
ここで投げたPendingIntentは親ActivityのonActivityResultで受け取ります。\\ | ここで投げたPendingIntentは親ActivityのonActivityResultで受け取ります。\\ | ||
Intent#putExtra()で値を渡すこともできます。 | Intent#putExtra()で値を渡すこともできます。 | ||
ライン 89: | ライン 91: | ||
} | } | ||
+ | * Activity側の実装 |