XML에서 리소스 액세스
기존 리소스에 대한 참조를 사용하여 일부 XML 특성과 요소의 값을 정의할 수 있습니다. 이 작업은 레이아웃 파일을 생성할 때 위젯에 문자열과 이미지를 제공하기 위해 자주 하게 됩니다.
예를 들어 레이아웃에 Butto를 추가하면 해당 버튼 텍스트에 문자열 리소스를 사용해야 합니다.
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/submit" />
구문
다음은 XML 리소스로 리소스를 참조하는 데 쓰는 구문입니다.
@[<package_name>:]<resource_type>/<resource_name>
사용 사례
일부 경우에는 값에 대한 리소스를 반드시 XML로 사용해야 하지만(예:위쳇에 드로어블 이미지를 적용하는 경우) 단순 값을 허용하는 곳이라면 어디서든 XML로 리소스를 사용할 수도 있습니다. 예를 들어 색상 리소스와 문자열 리소스를 포함한 다음 같은 리소스 파일을 가지고 있다고 가정해보겠습니다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="opaque_red">#f00</color>
<string name="hello">Hello!</string>
</resources>
이와 같은 리소스는 다음의 레이아웃 파일에서 텍스트 색상과 텍스트 문자열을 설정하는 데 사용할 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/opaque_red"
android:text="@string/hello" />
이 경우 리소스를 자체 패키지에서 가져왔으므로 리소스 참조에 패키지 이름을 지정하지 않아도 됩니다. 시스템 리소스를 참조하려면 패키지 이름을 포함해야 합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@android:color/secondary_text_dark"
android:text="@string/hello" />
참고 : 항상 문자열 리소스를 사용해야 사용자의 애플리케이션이 다른 언어에 맞게 현지화될 수 있습니다. 대체 리소스(예 : 현지화된 문자열) 생성에 관한 자세한 내용은 "대체 리소스 한정자 이름"참조 하세요.
XML의 리소스를 사용하여 별명을 생성할 수도 있습니다. 예를 들어 드로어블 리소스이면서 다른 드로어블 리소스의 별명인 것을 생성할 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/other_drawable" />
일견 중복되는 것처럼 들리지만 대체 리소스를 사용할 때 매우 유용하게 쓰일 수 있습니다. "별칭 리소스 생성"에 대해 자세히 알아보세요.
XML 리소스 선언
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="opaque_red">#f00</color>
<string name="hello">Hello!</string>
</resources>
리소스 참조
<?xml version="1.0" encoding="utf-8"?><EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/opaque_red"
android:text="@string/hello" />
'X' 카테고리의 다른 글
앱 개발 방법 - 앱 리소스 (리소스와 연관된 최선의 기기 호환성 제공) (0) | 2022.01.08 |
---|---|
앱 개발 방법 - 앱 리소스 (스타일 특성 참조 [원본 파일 액세스, 플랫폼 리소스 액세스]) (0) | 2022.01.08 |
앱 개발 방법 - 앱 리소스 (코드 내 리소스 액세스 [코드로 리소스를 참조하는 데 쓰는 구문, 사용사례]) (0) | 2022.01.07 |
앱 개발 방법 - 앱 리소스 (액세스) (0) | 2022.01.06 |
앱 개발 방법 - 앱 리소스 (별칭 리소스 생성, 드로어블, 레이아웃, 문자열 및 기타 단순 값) (0) | 2022.01.06 |