Android studio 在activity_main文件中用Edittext创建编辑框和一个按钮,点击按钮后弹出的对话框是新建的一个dialog的xml文件。对话框单选四个选项,左边底部取消,右边确定。选择一个选项后,该选项会浮动显示在底部
时间: 2023-05-31 09:01:55 浏览: 106
首先,在activity_main.xml文件中添加一个EditText和一个Button:
```
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入内容"/>
<Button
android:id="@+id/btn_dialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="弹出对话框"/>
```
接着,在MainActivity.java文件中设置Button的点击事件,在点击事件中创建并显示对话框:
```
Button btnDialog = findViewById(R.id.btn_dialog);
btnDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog();
}
});
private void showDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = LayoutInflater.from(this).inflate(R.layout.dialog_layout, null);
builder.setView(view);
final TextView tvResult = view.findViewById(R.id.tv_result);
RadioGroup radioGroup = view.findViewById(R.id.radio_group);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 确定按钮的点击事件
int checkedId = radioGroup.getCheckedRadioButtonId();
RadioButton radioButton = view.findViewById(checkedId);
tvResult.setText("你选择了:" + radioButton.getText().toString());
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 取消按钮的点击事件
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
```
在这段代码中,我们创建了一个AlertDialog.Builder对象,并使用LayoutInflater从dialog_layout.xml文件中加载布局。然后,我们找到布局中的RadioGroup和TextView,并为“确定”按钮设置点击事件,获取被选中的RadioButton的文本内容,并将其显示在TextView中。我们还为“取消”按钮设置了点击事件,以关闭对话框。最后,我们创建了AlertDialog对象并将其显示出来。
最后,在dialog_layout.xml文件中添加RadioGroup和TextView:
```
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/radio_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项1"/>
<RadioButton
android:id="@+id/radio_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项2"/>
<RadioButton
android:id="@+id/radio_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项3"/>
<RadioButton
android:id="@+id/radio_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项4"/>
</RadioGroup>
<TextView
android:id="@+id/tv_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="20sp"
android:textAlignment="center"/>
```
在这个布局中,我们使用了一个垂直的RadioGroup来放置四个RadioButton,并使用一个TextView来显示选择的结果。
阅读全文