상세 컨텐츠

본문 제목

[안드로이드] 코드(MainActivity) 에서 배경색상 바꾸는 다양한 방법

안드로이드

by aries574 2022. 4. 7. 17:33

본문


이번 시간에는 코드에서 레이아웃이나 텍스트뷰들의

배경 색상을 바꾸는 다양한 방법을 알아보겠습니다. 


목차

1. 실행 화면

2. 메인 화면 구성 activity_main.xml

3. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. 메인 화면 구성 activity_main.xml

 - 설명 - 

 1. 하나의 텍스트뷰와 4개의 버튼으로 구성되어있습니다.

 2. 각 버튼을 누르면 텍스트뷰의 배경 색상이 바뀝니다. 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    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"
    android:orientation="vertical"
    tools:context=".MainActivity">
    
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:textSize="25sp"
        android:layout_gravity="center_horizontal"
        android:text="색상 바꾸자"/>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/change_color1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginTop="20dp"
            android:text="색 바꾸기1" />

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/change_color2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginTop="20dp"
            android:text="색 바꾸기2" />

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/change_color3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginTop="20dp"
            android:text="색 바꾸기3" />

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/change_color4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginTop="20dp"
            android:text="색 바꾸기4" />
    </LinearLayout>

</LinearLayout>

 

 

3. 메인 코드 구현 MainActivity.java

 - 설명 -

 1. 각 버튼은 텍스트뷰의 배경색상을 변경합니다.

 2. 첫 번째 버튼은 color.xml에 저장된 색상을 적용합니다.

 3. 두 번째 버튼은 rgb 색상값을 적용합니다.

 4. 세 번째 버튼은 rgb 코드값을 적용합니다.

 5. 네 번째 버튼은 자체 색상을 적용합니다. 

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    TextView textView;

    Context context = MainActivity.this;

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

        //초기화
        textView = findViewById(R.id.textView);
        Button change1 = findViewById(R.id.change_color1);
        Button change2 = findViewById(R.id.change_color2);
        Button change3 = findViewById(R.id.change_color3);
        Button change4 = findViewById(R.id.change_color4);

        //클릭이벤트
        change1.setOnClickListener(this);
        change2.setOnClickListener(this);
        change3.setOnClickListener(this);
        change4.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {

        int id = view.getId();

        //color.xml에서 가져오기
        if(id == R.id.change_color1){

            textView.setBackgroundColor(ContextCompat.getColor(context, R.color.purple_200));
        }

        //rgb 색상값 적용
        else if(id == R.id.change_color2){

            textView.setBackgroundColor(Color.rgb(100, 200, 125));
        }

        //rgb 코드값 적용
        else if(id == R.id.change_color3){
            textView.setBackgroundColor(Color.parseColor("#E4F7BA"));
        }

        //자체 색상 가져오기
        else if(id == R.id.change_color4){
            textView.setBackgroundColor(Color.RED);
        }
    }
}

2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성

 

[안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면구성

앞으로 같은 그림 찾기 게임을 만들어 보겠습니다. 이번 시간에는 화면 구성을 해보겠습니다. 이 게임은 8장의 카드가 있고, 2장의 카드를 뒤집어서 같은 그림이면 성공, 틀리면 맞을 때까지 하

aries574.tistory.com

2022.03.28 - [안드로이드] - [안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성

 

[안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성

 이번 시간에는 랜덤한 숫자를 생성하면, 사용자는 숫자를 입력해서 맞추는 게임을 만들어 보려고 합니다. 물론 무작정 맞추는 게 아니라 입력한 숫자가 랜덤한 숫자보다 큰지, 작은지 정도는

aries574.tistory.com

 

2022.03.30 - [안드로이드] - [안드로이드] 야구게임 만드는 방법 part1 - 화면 구성 및 랜덤 숫자 생성

 

[안드로이드] 야구게임 만드는 방법 part1 - 화면구성 및 랜덤숫자 생성

이번 시간에는 야구게임을 만들어 보겠습니다. 게임의 규칙을 설명하겠습니다. 1. 게임을 시작하면 랜덤한 숫자 3개를 생성합니다. 2. 사용자는 랜덤으로 생성된 숫자 3개를 맞춰야 합니다. 3. 숫

aries574.tistory.com

반응형

관련글 더보기

댓글 영역