android在onCreateDialog中使用AlertDialog 加载设置自定义一个弹窗布局完整xml与java代码
时间: 2023-12-10 07:37:17 浏览: 87
自定义AlertDialog对话框完整代码
以下是一个使用AlertDialog加载自定义布局的示例代码:
```java
public class MainActivity extends AppCompatActivity {
private Button showDialogBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取弹窗按钮
showDialogBtn = findViewById(R.id.show_dialog_btn);
//设置点击事件
showDialogBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//加载自定义布局
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
View dialogView = inflater.inflate(R.layout.custom_dialog_layout, null);
//创建AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("自定义弹窗");
builder.setView(dialogView);
//设置确认按钮点击事件
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//处理确认按钮点击事件
}
});
//设置取消按钮点击事件
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//处理取消按钮点击事件
}
});
//显示弹窗
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
}
```
其中,`R.layout.custom_dialog_layout` 为自定义的弹窗布局。你可以根据自己的需求来设计布局。在此仅提供一个示例布局,如下所示:
```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:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请输入用户名和密码" />
<EditText
android:id="@+id/username_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名" />
<EditText
android:id="@+id/password_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword" />
</LinearLayout>
```
阅读全文