首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android Button 循環切換 5 種顏色:顏色數組 + 索引取模

     編輯:程式設計疑難解答

需求:同一 Button 每次點擊切換顏色,依序:綠、紅、黃、紫、黑,循環往複。

實現代碼

public class MainActivity extends AppCompatActivity {
    private Button btnColor;
    private int[] colors = {Color.GREEN, Color.RED, Color.YELLOW, Color.MAGENTA, Color.BLACK};
    private int colorIndex = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnColor = findViewById(R.id.btnColor);
        btnColor.setOnClickListener(v -> {
            btnColor.setBackgroundColor(colors[colorIndex]);
            colorIndex = (colorIndex + 1) % colors.length;
        });
    }
}

關鍵點

  • 顏色數組 colors 存儲循環序列,colorIndex 記錄當前位置。
  • 點擊時先應用當前顏色,再 (index + 1) % length 移至下一個,實現循環。
  • 若需持久化(重啟應用記住上次顏色),可在 onPause 存 SharedPreferences,onCreate 讀取恢復 colorIndex。

進階:狀態列表繪製

若需按下/不可用等狀態不同顏色,可使用 ColorStateList 或 XML <selector> 定義狀態化背景,而非動態修改背景色。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved