티스토리 뷰

728x90

 


Resource

• 반복적으로 사용할 수 있는 자원

• res 폴더에 저장

- 사용 방법 : @리소스종류/리소스명

• 종류

     - drawable, layout, mipmap, values...

 

1. drawable

• 이미지 리소스 파일

     - .jpg, .png, ... : 복잡한 이미지

          ex) dog.jpg

dog.jpg

     - .xml

          - 간단한 이미지(도형)

          - 변경 가능한 이미지

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <size
        android:width="100dp"
        android:height="100dp" />

    <stroke
        android:width="10dp"
        android:color="@color/teal_200" />

    <solid android:color="@color/purple_200" />

</shape>

간단한 이미지(도형)

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@drawable/dog"
        android:state_pressed="true" />
    <item
        android:drawable="@drawable/ic_launcher_foreground"
        android:state_pressed="false" />

</selector>

변경 가능한 이미지 - 버튼을 누르지 않았을 때(왼쪽), 버튼을 눌렀을 때(오른쪽)

 

2. layout

• 화면을 구성하는 xml.

• 코드(코틀린 & 자바)에서도 사용할 수 있고, xml 안에서 다른 xml을 불러오는 것도 가능하다.

 

3. mipmap

• 애플리케이션의 아이콘

     ex) AndroidManifest.xml

android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"

     - 동일한 아이콘을 해상도 별로 여러 장을 준비할 수 있다.

     - 안드로이드 OS가 기기의 해상도에 적합한 이미지를 알아서 선택한다.

 

4. values

• colors : 반복적으로 사용하는 색깔을 관리

     - 우리가 background 색을 적용할 때 사용했던 @color/purple_200 등의 색이 여기에 등록되어 있다.

     - 투명도 + RGB(Red, Green, Blue)의 조합으로 색을 표현한다.

     - 16진수로 색상 코드를 나타낸다.

     ex) 검정색 : #FF000000 -> 투명도 FF (완전 불투명) + Red 00 + Green 00 + Blue 00

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
    <color name="my_color">#FFABCDEF</color> <!-- my_color 추가 -->
</resources>

• string : 반복적으로 사용하는 문자열을 관리

     - 문자열을 따로 관리하면 번역 작업 등에 편하다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">FastCampus</string>
    <string name="my_string">h_json 블로그</string>
</resources>

• themes : 안드로이드는 기본으로 필요한 컬러를 테마로 정의해놓음.

     - 하지만 내가 의도한 컬러가 아니기 때문에 잘 사용하지 않는다.

 

• value 사용

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:background="@color/my_color"
        android:text="@string/my_string" />

</androidx.appcompat.widget.LinearLayoutCompat>

my_color와 my_string을 적용한 TextView의 모습

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90
댓글
공지사항