ダイアログ化したActivity
を表示する際、とくに指定が無ければダイアログは画面中央に表示される(はず)。

いつの間にかすっかり巨大化してしまったスマホの画面であるが、片手操作では画面中央に表示されるダイアログのボタンに指が届かないなどの不満が(少なくとも自分には)あるので「ダイアログの表示位置を画面下部とかにできたらなァ」ということで今回やってみた。
class HogeDialogActivity : AppComapActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setDialogVerticalGravity(Gravity.BOTTOM)
~~~ いろいろ ~~~
}
private fun setDialogVerticalGravity(gravity: Int) {
window.attributes.gravity =
(gravity and Gravity.VERTICAL_GRAVITY_MASK) or Gravity.CENTER_HORIZONTAL
}
}


Gravity.CENTER_HORIZONTAL
の部分を変えれば横位置も変えられるのかもしれないが、今回は試していない。