[자마린 앱 개발] Chapter 3. Deeper into Text 타이젠 Tizen 2017.08.03 23:53

자마린 앱 Text 에 대한 기본적인 내용을 소개하고 있다. 자마린에서의 Text란 어떻게 다뤄지는지 간단하게 설명한다. 예제 한번 쭉 보면 더 읽을 필요 없을 정도로 간단한 내용이다.


Wrapping paragraphs

다양한 방법으로 align과 wrapping 선택 할 수 있다. 줄바꿈은 Environment.NewLine 을 사용하시길 권장한다. 플랫폼 별로 \n\r\n로 치환된다.

Text and background colors

Label 의 속성에 따라 차지하는 영역이 달라진다. View의 영역을 어떻게 설정할지에 대해서 알 수 있는데, 내용이 직관적이라 그냥 보고, 써보면 안다.

The Color structure

Color Structure는 R, G, B 값 또는 명도, 색상, 채도 값을 0~1사이의 double로 가지고 있다.

투명도에 대한 알파 값도 0~1의 값을 가지며 모든 값은 읽기 전용이다. 즉, 색상 값은 생성할 때만 정해진다.

MultiplyAlpha, WithHue, WithLuminosity 등의 메소드로 현재 색상을 바탕으로 파라미터만큼 수정된 색상을 만드는 방법도 제공된다.

그리고, 17개의 읽기 전용 static color도 미리 정해져 있다. Color.Blue, Color.Aqua 등...

Font sizes and attributes

FontFamily 속성이 있지만 플랫폼 별로 챙겨야 하고, 사이즈는 더 깊은 고찰이 필요하다. NamedSize를 사용 할 수도 있지만, 플랫폼 별로 크기가 다르다. E.g. NameSize.Large

Formatted text

fontFamily, size, attributes, color 등을 다르게 설정한 span으로 FormattedString 오브젝트에 넣어서 다양한 형태의 텍스트로 구성된 문장을 Label에 넣을 수 있다.

[잠깐!] String.Format

지정된 형식에 따라 개체의 값을 문자열로 변환하여 다른 문자열에 삽입 한다. 매우 다양한 형식을 지원한다!

string s = String.Format("At {0}, the temperature is {1}°C.",   
                         DateTime.Now, 20.4);   
// Output similar to: 'At 4/10/2015 9:29:41 AM, the temperature is 20.4°C.'
    
string s = String.Format("It is now {0:d} at {0:t}", DateTime.Now);
// Output similar to: 'It is now 4/10/2015 at 10:04 AM'
    
int[] years = { 2013, 2014, 2015 }; 
int[] population = { 1025632, 1105967, 1148203 };   

String s = String.Format("{0,6} {1,15}\n\n", "Year", "Population");

for(int index = 0; index < years.Length; index++)   
   s += String.Format("{0,6} {1,15:N0}\n",  
                      years[index], population[index]);

// Result:
//      Year      Population
//
//      2013       1,025,632
//      2014       1,105,967
//      2015       1,148,203

https://msdn.microsoft.com/ko-kr/library/system.string.format(v=vs.110).aspx#Starting