개발 창고/Android

[Android] How to Get Colors from My Resource in Java

로이제로 2023. 11. 29. 22:00
반응형

 

방법 #1. ContextCompat

ContextCompat.getColor(getApplicationContext(), R.color.colorAccent);

 

방법 #2. this

this.getColor(R.color.colorAccent);

이 방법은 API 23 이상부터 사용 가능합니다.

 

방법 #3. getResources()

getResources().getColor(R.color.colorAccent);

 

기타. String RGB to Color

Color.parseColor("#FFFFFF");

 

테스트 코드

import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;

public class TestActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView tv = new TextView(this);

        // 방법 #1
        int c01 = ContextCompat.getColor(getApplicationContext(), R.color.colorAccent);
        tv.setTextColor(c01);

        // 방법 #2
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            int c02 = this.getColor(R.color.colorAccent);
            tv.setTextColor(c02);
        }

        // 방법 #3
        int c03 = getResources().getColor(R.color.colorAccent);
        tv.setTextColor(c03);

        // 방법 #4
        int c04 = Color.parseColor("#FFFFFF");
        tv.setTextColor(c04);
    }
}
반응형