(추가내용) [안드로이드] 사용가능한 리소스 타입 - 문자열과 스타일 텍스트

반응형




읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



이어지는 글이 굉장히 늘어나 버렸습니다.-_-;

리소스 관련하여 여러가질 종합하다보니 너무나도 많네요...
아무래도 안드로이드에서 가장 중요한 부분이라 쭐이고 쭐여도 이정도 인듯;;;;


사용가능한 리소스 타입

간단한 문자열은 리소스로 저장하고 읽을 수가 있습니다.
세 개의 표준 HTML 태그인 <b>, <i>, <u> 를 사용하면 문자열에 추가할 수 있습니다.

스타일이 적용되지 않은 문자열 ( 원시텍스트 ) 을 얻기 위해선, 얻어진 CharSequence 객체의 toString() 메소드를 호출해야 합니다.

문자열 리소스를 얻는 메소드는 이러한 스타일 태그를 처리할 수 있어야 하겠습니다. Context.getString() 메소드로 리소스 ID에 대응되는 문자열을 얻을 수도 있습니다.
문자열에 작은 따옴표 ( ' : 어포스트로피 ) 나 큰 따옴표 ( " ) 를 사용하려면, 그것들을 이스케이프 하거나, 작은 따옴표는 큰 따옴표로,, 큰 따옴표는 작은 따옴표로 전체 문자열을 감싸는 방식을 사용해야 하겠네요..




마찬가지겠지만 XML 은 선언부를 요구합니다. 루트 엘리먼트는 하나 또는 그 이상의 <string> 태그를 가질 수 있습니다.


리소스의 파일 위치
리소스의 파일 위치는 res/values/파일명.xml  이 됩니다.


컴파일 후 리소스 타입
Java CharSequence 에 대한 리소스 포인터가 컴파일 후 리소스 타입이 됩니다.


리소스 참조시 사용할 구문
소스코드 : R.string.문자열명
XML 에서 : @[package:]string/문자열명


XML 선언


<string> 도 하나의 속성만을 가지며, name 속성은 문자열을 가르키는 이름이 됩니다. 위 소스에서 첫 번째는 원시텍스트이며, 두번째는 문자열에 HTML 태그를 추가한 것입니다.


코드에서 사용하기



XML 에서 사용하기




포맷 문자열의 스타일을 가진 텍스트 사용하기

포맷 문자열의 스타일 텍스트를 사용하고 싶을때에는, 직접적으로 지정할 수가 없습니다. 왜냐하면 스타일 정보를 제거하지 않고 String.format() 메소드의 인자로 스타일을 가진 텍스트를 전달할 수가 없기 때문인데요,

차선책으로는 이스케이프된 HTML 태그로 스타일 태그를 저장하는 방법이 있습니다.
그런 다음 포맷팅 후에 이스케이프된 HTML 문자열을 스타일을 가진 텍스트로 다시 변환해야 합니다.

1. 텍스트 리소스에 있는 HTML 태그를 이스케이프된 문자열로 스타일 텍스트로 저장해야 합니다.


-> 소스에는 포맷 문자열 아귀먼트 두개가 있습니다. %1$d 는 숫자를, %2$s 는 문자열을 나타냅니다.

2. 만약 문자열이 ' < ' 나 ' & ' 문자를 포함한다면 htmlEncode(string) 메소드로 이스케이프 해야됩니다.


3. String.format() 메소드로 HTML 텍스트를 포맷하고, fromHtml(String) 메소드로 HTML 텍스트를 스타일 텍스트로 변환합니다.



크기 값 ( Dimension Values )

크기값은 XML로 크기값을 정의함으로써, 사용할 일반적인 크기를 지정할 수 있는 방법입니다. 크기 리소스는 측정 단위가 뒤에 붙는 하나의 숫자로 지정됩니다.

안드로이드가 지원하는 측정 단위
1. px : 픽셀 - 스크린의 실제 픽셀에 대응되는 단위입니다.
2. in : 인치 - 스크린의 물리적인 크기에 기초하는 단위죠.
3. mm : 밀리미터 - 스크린 물리적인 크기에 기초합니다.
4. pt : 포인트 - 인치(inch)의 1/72 크기 입니다.

5. dp - 독립된 픽셀의 밀도 - 스크린의 물리적 밀도에 기초한 추상적인 단위입니다. 이 단위는 160 dpi의 스크린에 비례하는데, 1dp 는 160dpi 스크린상에서 1픽셀에 해당되죠.

6. sp : 독립된 스케일 픽셀 - dp 와 같은 단위이며, 폰트 크기 설정에 의해 스케일 되기 때문에 , 폰트 크기 지정의 단위로써 권장되는 단위입니다.

☞ 크기 값은 대부분 독립된 리소스로 사용되기 보다는 XML 의 속성값으로 주로 사용됩니다.


XML 선언

XML 은 선언부를 포함하고 루트 엘리먼트는 하나 또는 그 이상의 <dimen> 태그를 가질 수 있습니다.



리소스의 파일 위치
res/values/파일명.xml 이 됩니다.


컴파일 된 리소스 타입
dimension 에 대한 리소스 포인터 입니다.


리소스 참조시 사용할 구문
소스코드 : R.dimen.이름
XML      : @[package:]dimen/이름


소스코드에서 사용하기




XML 에서 치수값을 선언한 후 아래와 같이 참조하여 사용합니다.








끝~~








리소스에 대한 내용은 게속 이어집니다 ㅎ



관련글


반응형

댓글

Designed by JB FACTORY