2018‐02‐11 到達点メモ
今日は、自作ダイアログを適応させて
コード上でボタンを追加させるという事を行った。
*実装はKotlinです。
結果は以下のような感じ
ダイアログにカスタムレイアウト適応するのはさほど難しくなかったが
追加するのがちょっと面倒だった。
具体的には以下のような感じに実装
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { // Use the Builder class for convenient dialog construction val builder = AlertDialog.Builder(activity) val view:View = LayoutInflater.from(activity).inflate(R.layout.applimit_dialog,null) builder.setTitle("test") .setView(view) // Create the AlertDialog object and return it return builder.create() } override fun onStart() { super.onStart() var textView:TextView = dialog.findViewById(R.id.copyTextView) textView.text = "ChangeText" val button:Button = Button(activity) val layout = dialog.findViewById<ConstraintLayout>(R.id.applimit_dialog) layout.addView(button) }
メモとして、Builderの中身の変更はonStartで行う。
また、onStartに処理を書けば
ダイアログを呼び出す度に内容を変更することができる
あと、微妙につまったのがレイアウトを取りたい時に
dialog.findViewById<>()の<>の中身の指定の仕方が
最初わからなかった。
以下のように指定すればいいと分かるとそんなに難しくはないが。
dialog.findViewById<ConstraintLayout>(R.id.applimit_dialog)
あと、複数を動的に表示したくて調べたが
とりあえず、今回の件ではView.OnLayoutChangeListenerは使わない。
参考サイト:Kotlin(Java)コード上でConstraintLayoutの制約を編集する
参考サイト:DialogFragmentにカスタムビューを設定
現状だと、大きさの変更をする必要があるので
そこの対策?がいるがやりたいことや確認したいことは大体確認できたので
今日はここまで。
0 コメント:
コメントを投稿