1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/ly1" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 xmlns:tools="http://schemas.android.com/tools" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" 8 tools:context=".MainActivity"> 9 10 <Button 11 android:id="@+id/bt" 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:text="切换背景颜色" 15 android:background="#EEE9E9" 16 android:layout_centerHorizontal="true" 17 android:layout_centerVertical="true" 18 android:textColor="#383535"> 19 </Button>
package com.example.singlechoicedialog; import androidx.appcompat.app.AppCompatDialog; import androidx.appcompat.app.AppCompatActivity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button bt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inter(); View.OnClickListener bt1 = new bt1(); bt.setOnClickListener(bt1); } public void inter() { bt = findViewById(R.id.bt); } class bt1 implements View.OnClickListener{ String bj1="#FFFFFF"; @Override public void onClick(View view) { AlertDialog dialog; AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this) .setTitle("设置主题背景") //设置标题 .setIcon(R.drawable.ic_launcher_background) .setSingleChoiceItems(new String[]{"红", "白", "黑", "蓝", },2,new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // 点单选按钮时发生的事件,这里which表示你点的单选按钮是第几个 switch (which){ case 0:bj1="#FFF44336" ;break; case 1:bj1="#FFFFFF" ;break; case 2:bj1="#000000" ;break; case 3:bj1="#FF00BCD4" ;break; } } }) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //点确定按钮时发生的事件 ((RelativeLayout)findViewById(R.id.ly1)).setBackgroundColor(Color.parseColor(bj1)); } })//添加“确定”按钮 .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 点取消按钮发生的事件 dialog.dismiss(); } }); dialog = builder.create(); dialog.show(); } } }