Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

리소스 유형 더보기

이 페이지는 다음의 표면화할 수 있는 더 많은 리소스 유형을 정의합니다.

부울
부울 값을 전달하는 XML 리소스입니다.
색상
색상 값(16진수 색상)을 전달하는 XML 리소스입니다.
크기
크기 값(측정 단위 사용)을 전달하는 XML 리소스입니다.
ID
애플리케이션 리소스 및 구성요소의 고유 식별자를 제공하는 XML 리소스입니다.
정수
정수 값을 전달하는 XML 리소스입니다.
정수 배열
정수 배열을 제공하는 XML 리소스입니다.
유형이 있는 배열
TypedArray(드로어블 배열에 사용할 수 있음)를 제공하는 XML 리소스입니다.

부울

XML로 정의된 부울 값입니다.

참고: 부울은 name 속성(XML 파일 이름 아님)이 제공하는 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 부울 리소스를 다른 단순 리소스와 결합할 수 있습니다.

파일 위치:
res/values/filename.xml
파일 이름은 임의로 지정됩니다. <bool> 요소의 name은 리소스 ID로 사용됩니다.
리소스 참조:
자바: R.bool.bool_name
XML: @[package:]bool/bool_name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool
            name="bool_name"
            >[true | false]</bool>
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<bool>
부울 값: true 또는 false

속성:

name
문자열. 부울 값의 이름. 이 이름은 리소스 ID로 사용됩니다.
예:
res/values-small/bools.xml에 저장된 XML 파일:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="screen_small">true</bool>
        <bool name="adjust_view_bounds">true</bool>
    </resources>
    

이 애플리케이션 코드는 다음과 같이 부울을 가져옵니다.

Kotlin

    val screenIsSmall: Boolean = resources.getBoolean(R.bool.screen_small)
    

자바

    Resources res = getResources();
    boolean screenIsSmall = res.getBoolean(R.bool.screen_small);
    

이 레이아웃 XML은 속성에 부울을 사용합니다.

    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:src="@drawable/logo"
        android:adjustViewBounds="@bool/adjust_view_bounds" />
    

색상

XML로 정의된 색상 값입니다. 색상은 RGB 값 및 알파 채널로 지정됩니다. 색상 리소스는 16진수 색상 값을 허용하는 모든 위치에서 사용할 수 있습니다. XML에서 드로어블 리소스가 예상되는 경우 색상 리소스를 사용할 수도 있습니다(예: android:drawable="@color/green").

RGB 값은 항상 파운드(#) 문자로 시작하고 알파-빨간색-녹색-파란색 정보가 이어지는 다음 형식 중 하나로 지정됩니다.

  • #RGB
  • #ARGB
  • #RRGGBB
  • #AARRGGBB

참고: 색상은 name 속성(XML 파일 이름 아님)에서 제공되는 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 색상 리소스를 다른 단순 리소스와 결합할 수 있습니다.

파일 위치:
res/values/colors.xml
파일 이름은 임의로 지정됩니다. <color> 요소의 name은 리소스 ID로 사용됩니다.
리소스 참조:
자바: R.color.color_name
XML: @[package:]color/color_name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color
            name="color_name"
            >hex_color</color>
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<color>
위에 설명한 대로 16진수로 표현된 색상입니다.

속성:

name
문자열. 색상의 이름. 이 이름은 리소스 ID로 사용됩니다.
예:
res/values/colors.xml에 저장된 XML 파일:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
       <color name="opaque_red">#f00</color>
       <color name="translucent_red">#80ff0000</color>
    </resources>
    

이 애플리케이션 코드는 색상 리소스를 가져옵니다.

Kotlin

    val color: Int = resources.getColor(R.color.opaque_red)
    

자바

    Resources res = getResources();
    int color = res.getColor(R.color.opaque_red);
    

이 레이아웃 XML은 다음과 같이 색상을 속성에 적용합니다.

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/translucent_red"
        android:text="Hello"/>
    

크기

XML로 정의된 크기 값입니다. 크기는 숫자로 지정되며 그 뒤에 측정 단위가 뒤따릅니다. 예: 10px, 2in, 5sp. 다음은 Android에서 지원하는 측정 단위입니다.

dp
밀도 독립형 픽셀 - 화면의 물리적인 밀도에 기반한 추상적인 단위입니다. 이 단위는 160dpi(인치당 도트 수) 화면에 상대적이며 화면에서 1dp는 대략 1px와 같습니다. 더 높은 밀도의 화면에서 실행한다면 1dp를 그리는 데 사용되는 픽셀의 수는 화면의 dpi에 적절한 배율로 확장됩니다. 마찬가지로 더 낮은 밀도 화면에서 실행한다면 1dp에 사용되는 픽셀 수는 축소됩니다. dp 대 픽셀의 비율은 화면 밀도에 따라 달라지지만, 반드시 정비례하는 것은 아닙니다. dp 단위(px 단위 대신)를 사용하는 것은 레이아웃에서 뷰 크기를 다양한 화면 밀도에 따라 적절하게 조절하는 간단한 해결 방법입니다. 즉, 다양한 기기에서 UI 요소의 실제 크기에 일관성을 부여합니다.
sp
배율 독립형 픽셀 - dp 단위와 같지만, 사용자의 글꼴 크기 환경설정에 의해 확장되기도 합니다. 글꼴 크기를 지정할 때 화면 밀도와 사용자의 환경설정 모두에 따라 조정되도록 이 단위를 사용하는 것이 좋습니다.
pt
포인트 - 화면의 물리적 크기에 따라 72dpi 밀도 화면을 기준으로 1/72 인치입니다.
px
픽셀 - 화면의 실제 픽셀에 대응됩니다. 실제 표현은 기기에 따라 다를 수 있으므로 이 측정 단위는 권장되지 않으며 각 기기는 인치당 서로 다른 픽셀 수를 가질 수 있고 화면에서 사용할 수 있는 총 픽셀 수는 더 많거나 적을 수 있습니다.
mm
밀리미터 - 화면의 실제 크기를 기반으로 합니다.
in
인치 - 화면의 실제 크기를 기반으로 합니다.

참고: 크기는 name 속성(XML 파일 이름 아님)에서 제공되는 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 크기 리소스를 다른 단순 리소스와 결합할 수 있습니다.

파일 위치:
res/values/filename.xml
파일 이름은 임의로 지정됩니다. <dimen> 요소의 name은 리소스 ID로 사용됩니다.
리소스 참조:
자바: R.dimen.dimension_name
XML: @[package:]dimen/dimension_name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <dimen
            name="dimension_name"
            >dimension</dimen>
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<dimen>
플로팅으로 표현된 크기이며 위에서 설명한 측정 단위(dp, sp, pt, px, mm, in)가 옵니다.

속성:

name
문자열. 크기의 이름. 이 이름은 리소스 ID로 사용됩니다.
예:
res/values/dimens.xml에 저장된 XML 파일:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <dimen name="textview_height">25dp</dimen>
        <dimen name="textview_width">150dp</dimen>
        <dimen name="ball_radius">30dp</dimen>
        <dimen name="font_size">16sp</dimen>
    </resources>
    

이 애플리케이션 코드는 다음과 같이 크기를 가져옵니다.

Kotlin

    val fontSize: Float = resources.getDimension(R.dimen.font_size)
    

자바

    Resources res = getResources();
    float fontSize = res.getDimension(R.dimen.font_size);
    

이 레이아웃 XML은 속성에 크기를 적용합니다.

    <TextView
        android:layout_height="@dimen/textview_height"
        android:layout_width="@dimen/textview_width"
        android:textSize="@dimen/font_size"/>
    

ID

XML로 정의된 고유 리소스 ID입니다. Android 개발자 도구는 <item> 요소에 제공한 이름을 사용하여 프로젝트의 R.java 클래스에 고유 정수를 만들며 이를 애플리케이션 리소스(예: UI 레이아웃의 View)의 식별자 또는 애플리케이션 코드(예: 대화상자의 ID 또는 결과 코드)에서 사용할 고유 정수로 사용할 수 있습니다.

참고: ID는 name 속성(XML 파일 이름 아님)에 제공되는 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 ID 리소스를 다른 단순 리소스와 결합할 수 있습니다. 또한 ID 리소스는 실제 리소스 항목을 참조하지 않으며 다른 리소스에 연결하거나 애플리케이션에서 고유한 정수로 사용할 수 있는 고유 ID입니다.

파일 위치:
res/values/filename.xml
파일 이름은 임의로 지정됩니다.
리소스 참조:
자바: R.id.name
XML: @[package:]id/name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <item
            type="id"
            name="id_name" />
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<item>
고유 ID를 정의합니다. 값은 사용하지 않고 속성만 사용합니다.

속성:

type
'id'여야 함.
name
문자열. ID의 고유 이름.
예:

res/values/ids.xml에 저장된 XML 파일:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <item type="id" name="button_ok" />
        <item type="id" name="dialog_exit" />
    </resources>
    

그런 다음, 이 레이아웃 스니펫은 버튼 위젯에 'button_ok' ID를 사용합니다.

    <Button android:id="@id/button_ok"
        style="@style/button_style" />
    

android:id 값은 위 ids.xml 예에 정의된 것처럼 ID가 이미 존재하므로 ID 참조에 더하기 기호를 포함하지 않습니다. (android:id="@+id/name" 형식으로 더하기 기호를 사용하여 XML 리소스에 ID를 지정하면 이는 'name' ID가 존재하지 않고 만들어야 한다는 의미입니다.)

또 다른 예로, 다음 코드 스니펫은 대화상자의 고유 식별자로 'dialog_exit' ID를 사용합니다.

Kotlin

    showDialog(R.id.dialog_exit)
    

자바

    showDialog(R.id.dialog_exit);
    

동일한 애플리케이션에서 대화상자를 만들 때 다음과 같이 'dialog_exit' ID가 비교됩니다.

Kotlin

    override fun onCreateDialog(id: Int): Dialog? {
        return when(id) {
            R.id.dialog_exit -> {
                ...
            }
            else -> {
                null
            }
        }
    }
    

자바

    protected Dialog onCreateDialog(int id) {
        Dialog dialog;
        switch(id) {
        case R.id.dialog_exit:
            ...
            break;
        default:
            dialog = null;
        }
        return dialog;
    }
    

정수

XML로 정의된 정수입니다.

참고: 정수는 name 속성(XML 파일 이름 아님)에 제공되는 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 정수 리소스를 다른 단순 리소스와 결합할 수 있습니다.

파일 위치:
res/values/filename.xml
파일 이름은 임의로 지정됩니다. <integer> 요소의 name은 리소스 ID로 사용됩니다.
리소스 참조:
자바: R.integer.integer_name
XML: @[package:]integer/integer_name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <integer
            name="integer_name"
            >integer</integer>
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<integer>
정수.

속성:

name
문자열. 정수의 이름. 이 이름은 리소스 ID로 사용됩니다.
예:

res/values/integers.xml에 저장된 XML 파일:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <integer name="max_speed">75</integer>
        <integer name="min_speed">5</integer>
    </resources>
    

이 애플리케이션 코드는 다음과 같이 정수를 가져옵니다.

Kotlin

    val maxSpeed: Int = resources.getInteger(R.integer.max_speed)
    

자바

    Resources res = getResources();
    int maxSpeed = res.getInteger(R.integer.max_speed);
    

정수 배열

XML로 정의된 정수 배열입니다.

참고: 정수 배열은 name 속성(XML 파일 이름 아님)에 제공되는 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 정수 배열 리소스를 다른 단순 리소스와 결합할 수 있습니다.

파일 위치:
res/values/filename.xml
파일 이름은 임의로 지정됩니다. <integer-array> 요소의 name은 리소스 ID로 사용됩니다.
컴파일된 리소스 데이터 유형:
정수 배열을 가리키는 리소스 포인터.
리소스 참조:
자바: R.array.integer_array_name
XML: @[package:]array.integer_array_name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <integer-array
            name="integer_array_name">
            <item
                >integer</item>
        </integer-array>
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<integer-array>
정수 배열을 정의합니다. 하나 이상의 하위 <item> 요소를 포함합니다.

속성:

android:name
문자열. 배열의 이름. 이 이름은 배열을 참조하기 위한 리소스 ID로 사용됩니다.
<item>
정수. 이 값은 다른 정수 리소스의 참조가 될 수 있습니다. <integer-array> 요소의 하위 요소여야 합니다.

속성 없음.

예:
res/values/integers.xml에 저장된 XML 파일:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <integer-array name="bits">
            <item>4</item>
            <item>8</item>
            <item>16</item>
            <item>32</item>
        </integer-array>
    </resources>
    

이 애플리케이션 코드는 정수 배열을 가져옵니다.

Kotlin

    val bits: IntArray = resources.getIntArray(R.array.bits)
    

자바

    Resources res = getResources();
    int[] bits = res.getIntArray(R.array.bits);
    

유형이 있는 배열

XML로 정의된 TypedArray입니다. 이를 사용하여 드로어블과 같은 다른 리소스의 배열을 만들 수 있습니다. 배열이 같은 종류일 필요는 없으며 혼합된 리소스 유형의 배열을 만들 수 있지만, TypedArrayget...() 메서드를 사용하여 각 항목을 적절하게 가져올 수 있도록 배열에 있는 데이터 유형의 종류와 위치를 알아야 합니다.

참고: 유형이 있는 배열은 name 속성(XML 파일 이름 아님)에 제공된 값을 사용하여 참조되는 단순한 리소스입니다. 따라서 하나의 XML 파일에서 하나의 <resources> 요소 아래 유형이 있는 배열 리소스를 다른 단순 리소스와 결합할 수 있습니다.

파일 위치:
res/values/filename.xml
파일 이름은 임의로 지정됩니다. <array> 요소의 name은 리소스 ID로 사용됩니다.
컴파일된 리소스 데이터 유형:
TypedArray를 가리키는 리소스 포인터입니다.
리소스 참조:
자바: R.array.array_name
XML: @[package:]array.array_name
구문:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <array
            name="integer_array_name">
            <item>resource</item>
        </array>
    </resources>
    
요소:
<resources>
필수사항. 이 요소는 루트 노드여야 합니다.

속성 없음.

<array>
배열을 정의합니다. 하나 이상의 하위 <item> 요소를 포함합니다.

속성:

android:name
문자열. 배열의 이름. 이 이름은 배열을 참조하기 위한 리소스 ID로 사용됩니다.
<item>
일반 리소스. 이 값은 리소스 또는 단순 데이터 유형의 참조가 될 수 있습니다. <array> 요소의 하위 요소여야 합니다.

속성 없음.

예:
res/values/arrays.xml에 저장된 XML 파일:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <array name="icons">
            <item>@drawable/home</item>
            <item>@drawable/settings</item>
            <item>@drawable/logout</item>
        </array>
        <array name="colors">
            <item>#FFFF0000</item>
            <item>#FF00FF00</item>
            <item>#FF0000FF</item>
        </array>
    </resources>
    

이 애플리케이션 코드는 각 배열을 가져온 다음 각 배열의 첫 번째 항목을 가져옵니다.

Kotlin

    val icons: TypedArray = resources.obtainTypedArray(R.array.icons)
    val drawable: Drawable = icons.getDrawable(0)

    val colors: TypedArray = resources.obtainTypedArray(R.array.colors)
    val color: Int = colors.getColor(0,0)
    

자바

    Resources res = getResources();
    TypedArray icons = res.obtainTypedArray(R.array.icons);
    Drawable drawable = icons.getDrawable(0);

    TypedArray colors = res.obtainTypedArray(R.array.colors);
    int color = colors.getColor(0,0);