안규 공부방

Android > resource - 색상 리소스 <color>

등록일 : 2017-07-05 16:55 조회수 : 93,872

색상 리소스는 보통 /res/values/colors.xml 에서 관리한다.

colors.xml 파일을 새로 만들고, 색상 <color>를 새로 등록한 후, xml과 java에서 호출하여 보자.

1. res(리소스)에 <color> 등록하기

/res/values/ 밑에 colors.xml 파일을 새로 만든다.
 
	<?xml version="1.0" encoding="utf-8"?>
	<resources>

		<color name="color_red">#FF2222</color>

	</resources>


- name을 "color_red" 로 <color> 등록
- 색상은 #FF2222 (빨강) 으로 등록

2. layout의 xml에서 리소스 <color> 가져오기
 
	<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
		xmlns:tools="http://schemas.android.com/tools"
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:paddingBottom="@dimen/activity_vertical_margin"
		android:paddingLeft="@dimen/activity_horizontal_margin"
		android:paddingRight="@dimen/activity_horizontal_margin"
		android:paddingTop="@dimen/activity_vertical_margin"
		tools:context=".MainActivity" >

		<TextView 
			android:id="@+id/TextView01"
			android:layout_width="fill_parent"
			android:layout_height="wrap_content"
			android:text="@string/sample1"
			android:textColor="@color/color_red" />

	</RelativeLayout>


- id : TextView01 로 TextView 등록
- 문자열은 sample1 이름으로 등록된 string 리소스 등록
- "color_red" 로 등록된 <color> 리소스를 문자열 색깔로 지정 ( android:textColor="@color/color_red"  )


실행화면을 보자!


- String 리소스 sample1의 문자열 Hello~! Friends~! 에 빨간색 적용

3. Activity.java에서 <color> 리소스 가져오기
 
	public class MainActivity extends Activity {

		@Override
		protected void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.activity_main);
			
			// "color_red" 라는 이름의 <color> 리소스를 가져온다. int 값.
			int colorRed = getResources().getColor(R.color.color_red);

			// id : TextView01  <TextView> 를 가져온다.
			TextView textView01 = (TextView)findViewById(R.id.TextView01);
			
			// TextView01 에 colorRed를 적용한다. (빨강색)
			textView01.setTextColor(colorRed);
		}

	}

- getResources().getColor() 로 리소스에 등록한 <color> 를 가져온다.
- TextView를 호출한 후, setTextColor 로 가져온 <color> 를 적용한다.


실행화면을 보자!


- TextView01에 빨강색이 적용되어 있는데에, 다시 빨강색을 적용하여 결과는 같다.
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.