<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ly1" 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" tools:context=".MainActivity"> <Button android:id="@+id/bg" android:layout_width="wrap_content" android:text="切换背景颜色" android:background="@drawable/et" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:textColor="#00BCD4"> </Button> </RelativeLayout>
Java
package com.example.m19; 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; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button bg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inter(); View.OnClickListener bg1=new bg1(); bg.setOnClickListener(bg1); } public void inter(){ bg=findViewById(R.id.bg); } class bg1 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.et) .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(); } } }