DialogFragmentを実装してAlertDialogを作成します。
参考
その時のアクションボタンは以下のようになります。
そこで以下のようにアクションボタンを画面いっぱいに広げたいのですが、サンプルのように作成してもうまくいきません。
独自にxmlを作成する以外に方法はないのでしょうか?
■サンプルを元に作成したソース
Kotlin
1 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { 2 return activity?.let { 3 val selectedItems = ArrayList<Int>() // Where we track the selected items 4 val builder = AlertDialog.Builder(it) 5 // Set the dialog title 6 builder.setTitle(R.string.title_home) 7 // Specify the list array, the items to be selected by default (null for none), 8 // and the listener through which to receive callbacks when items are selected 9 .setMultiChoiceItems(arrayOf("りんご", "みかん", "ぶどう"), null, 10 DialogInterface.OnMultiChoiceClickListener { dialog, which, isChecked -> 11 if (isChecked) { 12 // If the user checked the item, add it to the selected items 13 selectedItems.add(which) 14 } else if (selectedItems.contains(which)) { 15 // Else, if the item is already in the array, remove it 16 selectedItems.remove(Integer.valueOf(which)) 17 } 18 }) 19 // Set the action buttons 20 .setPositiveButton(R.string.ok, 21 DialogInterface.OnClickListener { dialog, id -> 22 // User clicked OK, so save the selectedItems results somewhere 23 // or return them to the component that opened the dialog 24 25 }) 26 .setNegativeButton(R.string.ng, 27 DialogInterface.OnClickListener { dialog, id -> 28 29 }) 30 31 builder.create() 32 } ?: throw IllegalStateException("Activity cannot be null") 33 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/23 12:55