<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" tools:context=".MainActivity" android:background="@color/colorPrimaryDark" android:id="@+id/txt1"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="多选对话框!" android:id="@+id/tv" android:gravity="center" android:textColor="#FFFDB371" android:textSize="20dp" android:layout_marginTop="30dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="200dp" android:text="设置背景颜色" android:layout_gravity="center" android:textSize="25dp" android:onClick="test" /> </LinearLayout>
package com.example.mytest; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { String [] a={"#87CEFF","#7D26CD","#F08080","#FF4040","#FFC125"}; int b=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void test(View view){ final AlertDialog dialog; AlertDialog.Builder builder=new AlertDialog.Builder(this) .setTitle("设置背景颜色") .setIcon(R.drawable.ic_launcher_background) .setSingleChoiceItems(new String[]{"蓝色", "紫色", "粉色", "红色", "黄色"}, b, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int which) { b=which; } }) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { findViewById(R.id.txt1).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(); } }