设计界面,包括图片按钮、复选按钮、单选按钮弹出对话框。
图片按钮
Activity代码:
import android.os.Bundle;
import android.widget.ImageButton;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
ImageButton imageButton = findViewById(R.id.imgBTN);
imageButton.setOnClickListener(v -> {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity2.this);
builder.setMessage("您点击了图片按钮");
builder.setPositiveButton("确定", (dialog, id) -> dialog.dismiss());
AlertDialog dialog = builder.create();
dialog.show();
});
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/imgBTN"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_background"/>
</LinearLayout>
单选按钮
Activity代码:
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private RadioGroup radioGroup;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup = findViewById(R.id.radioGroup);
Button button = findViewById(R.id.btn);
button.setOnClickListener(v -> {
int selectedId = radioGroup.getCheckedRadioButtonId();
RadioButton selectedRadioButton = findViewById(selectedId);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("您选择了:" + selectedRadioButton.getText());
builder.setPositiveButton("确定", (dialog, id) -> dialog.dismiss());
AlertDialog dialog = builder.create();
dialog.show();
});
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/maleRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="male"/>
<RadioButton
android:id="@+id/femaleRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="female"/>
</RadioGroup>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="showDialog" />
</LinearLayout>
复选按钮
Activity代码:
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity3 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
Button button = findViewById(R.id.boxbtn);
button.setOnClickListener(v -> {
CheckBox checkBoxChinese = findViewById(R.id.CBch);
CheckBox checkBoxEnglish = findViewById(R.id.CBen);
String message = "您选择了:";
if (checkBoxChinese.isChecked()) {
message += "中文";
}
if (checkBoxEnglish.isChecked()) {
if (checkBoxChinese.isChecked()) {
message += " 和 ";
}
message += "英文";
}
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity3.this);
builder.setMessage(message)
.setPositiveButton("确定", (dialog, id) -> {
// 点击确定按钮的操作
});
AlertDialog dialog = builder.create();
dialog.show();
});
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<CheckBox
android:id="@+id/CBch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="中文"/>
<CheckBox
android:id="@+id/CBen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="英文"/>
<Button
android:id="@+id/boxbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"/>
</LinearLayout>