본문 바로가기
안드로이드 자바

[Java][Android] Color.rgb() 메서드 사용해보기

by teamnova 2025. 7. 31.
728x90

안녕하세요.

이번에는 안드로이드스튜디오에서 제공하는 Color.rgb() 라는 유용한 메서드를 사용해서 색상을 무작위로 변경하는 기능을 만들어보겠습니다.

 

우선 전체 코드입니다.

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/root_layout"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:gravity="center"
  android:background="#FFFFFF">

  <Button
    android:id="@+id/changeColorButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="배경색 바꾸기" />
</LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {

  private View rootLayout;
  private Button changeColorButton;
  private final Random random = new Random(); // 랜덤 객체

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    rootLayout = findViewById(R.id.root_layout);
    changeColorButton = findViewById(R.id.changeColorButton);

    changeColorButton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        // RGB 각각 0~255 사이의 값 생성
        int r = random.nextInt(256);
        int g = random.nextInt(256);
        int b = random.nextInt(256);

        int color = Color.rgb(r, g, b); // Color 객체 생성
        rootLayout.setBackgroundColor(color); // 배경색 적용
      }
    });
  }
}

 

Color.rgb(r, g, b) 를 사용해서 rgb 값으로 색상을 생성하여 무작위로 배경색상을 변경해봤습니다.

이것을 활용하여 다양한 색상을 앱에 적용해보고, 확장해보면 좋겠습니다.

 

시연 영상입니다.