// ColorsSpinner Example // Source code file: MainActivity.java.txt package it372.spinnercolors; import androidx.appcompat.app.AppCompatActivity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.CompoundButton; import android.widget.LinearLayout; import android.widget.Spinner; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private Spinner spnrColors; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spnrColors = findViewById(R.id.spnr_colors); // Colors to display. String[ ] colors = {"red", "orange", "yellow", "green", "blue", "indigo", "violet"}; // Copy colors from array to arraylist. ArrayList arrList = new ArrayList( ); for(String c : colors) { arrList.add(c); } // Set up array adapter. ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, arrList); // Set adapter for spinner. spnrColors.setAdapter(adapter); // Set up click event for the LinearLayout. LinearLayout layout1 = findViewById(R.id.layout1); layout1.setOnClickListener( new View.OnClickListener( ) { @Override public void onClick(View view) { String colorName = spnrColors.getSelectedItem( ).toString( ); String colorCode = ""; switch(colorName) { case "red": colorCode = "#FFFF0000"; break; case "orange": colorCode = "#FFFF8000"; break; case "yellow": colorCode = "#FFFFFF00"; break; case "green": colorCode = "#FF00FF00"; break; case "blue": colorCode = "#FFA0E0FF"; break; case "indigo": colorCode = "#FF0000FF"; break; case "violet": colorCode = "#FF800080"; break; } layout1.setBackgroundColor(Color.parseColor(colorCode)); } } ); } }