package com.example.myapplication; 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(); } }
<?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>