| 파일 | 역할 |
|---|---|
| strings.xml * | 리소스 관리 \-화면에 출력할 텍스트 리소스를 정의한다 |
| main.xml * | UI 설계 \-strings.xml에서 정의된 텍스트 리소스를 이용하며 화면레이아웃을 설계한다. |
| activity.java | 로직/사용자 상호작용 \-액티비티를 생성하고, main.xml 출력한다. \-어플리케이션 시작시 실행한다. |
| AndroidManifest.xml | 어플리케이션 기본 정보(아이콘, 라벨, 액티비티등) 구성 \-액티비티클래스, 어플리케이션 라벨, 액티비티라벨을 지정한다. |
-뷰(View) 클래스 : UI 컴포넌트들을 위한 기본적인 구현 영역 기술
-위젯(Widget) : 뷰(View) 클래스 기반의 버튼, 텍스트 필드등 사용자와 상호작용하는 UI컴포넌트
-뷰 그룹(ViewGroup) : 레이아웃 특성 정의, 눈에는 보이지 않는 컨테이너인 레이아웃의 기반
-텍스트 뷰(TextView) : 사용자에게 텍스트를 출력
서브클래스와 수퍼클래스와의 관계는 안드로이드 개발자센터에서 파악할수 있다.(http://developer.android.com/develop/index.html)
| 클래스 | 속성 | 설명 |
|---|---|---|
| view | android:id | 생성된 뷰의 식별을 위한 이름. 즉, 식별자를 의미함. |
| viewGroup | android:layout_width | 뷰의 너비를 의미한다. \-fill_parent-부모의 영역을 가득채움. \-wrap_content-뷰의 컨텐츠 크기만큼 나타남. \-정수-지정한 정수값 만큼 나타남. 단위:px, dp, sp, in, mm |
| LinearLayout | android:layout_height | 뷰의 높이를 의미한다. \-속성값은 android:layout_width와 동일 |
| TextView | android:orientation | 화면 레이아웃의 방향을 의미한다. \-행에 대해서는 vertical(수직), 열에 대해서는 horizontal(수평)을 지정함. |
| TextView | android:text | textview가 출력하는 문자를 의미한다. \-속성값은 문자열을 하드코딩하거나, string 리소스를 정의하여 사용할 수 있음. |
| 레이아웃명 | 상속 계층도 | 특징 |
|---|---|---|
| LinearLayout | java.lang.Object └ android.view.View └ android.view.ViewGroup └ android.widget.LinearLayout | \-기본값은 수평정렬이다. \-LinearLayout에 붙이는 순서대로 배치된다. \-별도의 지정이 없는 한 뷰 사이의 공백이 없다. |
| RelativeLayout | java.lang.Object └ android.view.View └ android.view.ViewGroup └ android.widget.RelativeLayout | \-자식뷰의 위치를 상대적으로 배치한다. \-중첩된 형태의 뷰구성이 가능하다. \-형제뷰, 부모뷰를 기준으로 정렬한다. |
| TableLayout | java.lang.Object └ android.view.View └ android.view.ViewGroup └ android.widget.LinearLayout └ android.widget.TableLayout | \-바둑판 모양의 표 형태로 뷰를 배치한다. \-줄(행)과 칸(열) 이라는 개념을 가진다. |
참고사이트 : http://developer.android.com/reference/android/widget/LinearLayout.html
<LinearLayout을 이용한 실습화면>
<RelativeLayout을 이용한 실습화면>
| 클래스 | 속성 | 설명 |
|---|---|---|
| view | android:background | 뷰의 배경색을 의미함. \-'#rgb', '#argb', #rrggbb', '#aarrggbb'등 다양한 형태로 지정할 수 있다. |
| TextView | android:textSize | 화면에 출력될 텍스트의 크리를 의미함. \-사용가능 단위는 px, dp, sp, in, mm등 있고, 텍스트의 경우 sp단위의 사용이 추천된다. |
| android:textColor | 화면에 출력될 텍스트의 색을 의미함. | |
| android:gravity | 화면에 출력될 텍스트의 위치를 의미함. \-top : 컨테이터의 위쪽에 배치 \-bottom : 컨테이너의 아래쪽에 배치 \-left : 컨테이너의 왼쪽에 배치 \-right : 컨테이너의 오른쪽에 배치 \-center_vertical : 컨테이너의 수직 중앙에 배치 \-center_horizontal : 컨테이너의 수평 중앙에 배치 \-center : 컨테이너의 수평과 수직의 중앙에 배치 |
<폰트변화 적용 실행화면 캡쳐>
activity java class에서 setTitle("액티비티 라벨") 을 사용하여, activity label과 application label을 다르게 설정할 수 있다.
TextAdvLabActivity.java
//====================================
// 액티비티 라벨 출력
//------------------------------------
setTitle("ClientInfo");
//====================================
//====================================
// main.xml에 정의된 LinerLayout 인식(ID: Customers)
//------------------------------------
LinearLayout layout = (LinearLayout)findViewById(R.id.customers);
//====================================
//====================================
// LinearLayout의 배경색(흰색)
//------------------------------------
layout.setBackgroundColor(Color.argb(255,255,255,255));
//====================================
//====================================
// 성명과 기타정보를 출력할 TextView 객체 선언
//------------------------------------
TextView tv_name;
TextView tv_etc;
//====================================
//====================================
// 고객 1의 정보: 시작
//------------------------------------
tv_name = new TextView(this); // TextView객체 생성
tv_name.append("Yuna-Kim"); // 문자출력
tv_name.setTextSize(20); // 문자크기
tv_name.setTextColor(Color.argb(255,255,255,0)); // 문자 색
tv_name.setBackgroundColor(Color.argb(100,0,0,255)); // 문자 배경색
layout.addView(tv_name); // TextView객체를 LinearLayout 객체에 추가
//====================================
<실행화면 캡쳐>