// TriColor Example // Source code file: MainActivity.java package it372.ssmith.tricolor; import android.os.Bundle; import android.view.View; import android.widget.LinearLayout; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; public class MainActivity extends AppCompatActivity { // Set initial color to blue. Color codes: // blue=0, red=1, lime=2. private int color = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_main); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); } public void changeColor(View view) { int colorCode; LinearLayout layout = findViewById(R.id.main); color = (color + 1) % 3; switch(color) { case 0: colorCode = R.color.blue; break; case 1: colorCode = R.color.red; break; default: colorCode = R.color.lime; break; } layout.setBackgroundColor(ContextCompat.getColor(this, colorCode)); } }