KOTLIN 寫一個自定義的ALTERDAILOG,配合XML寫三個按鈕
时间: 2023-06-21 19:03:53 浏览: 170
好的,以下是一个简单的Kotlin代码片段,用于创建自定义的AlertDialog,并配合XML布局文件添加三个按钮:
```kotlin
class CustomDialog(context: Context) : Dialog(context) {
init {
setContentView(R.layout.custom_dialog_layout)
val btn1 = findViewById<Button>(R.id.btn1)
val btn2 = findViewById<Button>(R.id.btn2)
val btn3 = findViewById<Button>(R.id.btn3)
btn1.setOnClickListener { dismiss() }
btn2.setOnClickListener { dismiss() }
btn3.setOnClickListener { dismiss() }
}
}
```
在这个例子中,我们创建了一个名为CustomDialog的类,继承自Dialog类。在这个类的构造函数中,我们调用了setContentView方法,将自定义的XML布局文件与Dialog关联起来。接着,我们通过findViewById方法获取到三个Button控件,并分别设置它们的点击事件为dismiss方法,以便在用户点击按钮时关闭Dialog。
下面是一个简单的XML布局文件custom_dialog_layout.xml,用于描述自定义的AlertDialog的UI界面:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:padding="16dp">
<TextView android:id="@+id/title" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Dialog Title"
android:textAppearance="?android:textAppearanceMedium" />
<View android:layout_width="match_parent" android:layout_height="1dp"
android:background="?android:attr/dividerHorizontal" />
<Button android:id="@+id/btn1" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Button 1" />
<Button android:id="@+id/btn2" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Button 2" />
<Button android:id="@+id/btn3" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Button 3" />
</LinearLayout>
```
在这个XML布局文件中,我们使用了一个LinearLayout作为根容器,其中包含一个TextView和三个Button。TextView用于显示Dialog的标题,而Button则用于实现我们所需的功能。注意,每个Button都有一个唯一的ID,因此我们可以在Kotlin代码中使用findViewById方法获取到它们。
阅读全文