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에 빨강색이 적용되어 있는데에, 다시 빨강색을 적용하여 결과는 같다.