<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl1"
    tools:context=".MainActivity">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按钮"
        android:textSize="39sp"
        android:background="#66cccccc"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:onClick="test"
        />
</RelativeLayout>
package com.example.five;

import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    String[] a = {"#CC3300", "#FFFF00", "#3300FF", "#33CC33", "#9900CC"};
    int b = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void test(View view) {
        AlertDialog dialog;
        AlertDialog.Builder builder = new AlertDialog.Builder(this)
                .setTitle("设置背景颜色")           //设置标题
                .setIcon(R.drawable.ic_launcher_background)
                .setSingleChoiceItems(new String[]{"红色", "黄色", "蓝色", "绿色", "紫色"}, b, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // 点单选按钮时发生的事件,这里which表示你点的单选按钮是第几个
                        b = which;
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //点确定按钮时发生的事件
                        findViewById(R.id.rl1).setBackgroundColor(Color.parseColor(a[b]));
                        dialog.dismiss();
                    }
                })//添加“确定”按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 点取消按钮发生的事件
                        dialog.dismiss();
                    }
                });
        dialog = builder.create();
        dialog.show();

    }


}