Android Activity & View & Layout 2015년 3학년 1학기 A.I Lab
목차 Activity View View Group - Layout
Android - Activity 어플리케이션 내의 하나 의 스크린 UI컴포넌트를 화면에 표 시하고 시스템이나 사용 자의 반응을 처리 어플리케이션이 UI를 가 진다면 하나 혹은 그 이 상의 Activity를 가지며 기존의 Activity는 같은 기능을 하는 새로운 것으 로 대체 될 수 있다.
Activity – Lifecycle Lifecycle 은 PC 보다 상 대적으로 사양이 낮은 모 바일 기기에서 효율적인 메모리 관리를 위해 존재 기본적으로 Activity는 Activity Stack에서 관리 가 된다. 즉 오래된 Activity 들은 점 점 아래에 배치되게 된다.
Activity – Lifecycle OnCreate() : Activity가 생성될 때 처음으로 호출되는 함수를 말합니다. 리소스의 초기화 OnStart() : Activity가 사용자에게 보여줄 준비가 되었을 때 호출됩니다. OnResume() : Activity가 사용자에게 보여지고 사용자의 입력을 처리할 수 있습니다. Activity스택의 가장 상위에 위치합니다.
Activity – Lifecycle OnPause() : 포커스를 잃고 Activity가 Resume되기 전에 데이터에 저장 , 에니메이션 중지, cpu를 소비하는 작업을 중단합니다. OnStop() : 더이상 Activity가 사용자에게 보여지지 않습니다. 더 이상 Activity가 스택의 가장 위에 있지 않습니다. OnDestroy() : 시스템 내에 Activity가 존재하지 않게 됩니다.
Android – Activity 예제 Main - Activity
Android – Activity 예제 SubActivity
Android – Activity 예제 매니페스트 등록! 보안상의 이유로 응용 프로그램에 포함된 모든 액티비티는 반드시 매니페스트에 등록되어야 한다.
Android – Activity 예제 결과 화면
Android – Lifecycle 예제 *.java 프로젝트 코드에서 마우스 우클릭 –> Generate –> Override Methods... 선택 -> Activity 원하는 항목 선택
View, Widget, View Group 뷰 : 뷰는 화면을 직사각형 모양으로 일부분 점유하고 있는 영역. 즉 화면에 보여지는 부분들을 말한다. 위젯 : 뷰를 상속받음. 이미지를 보여주거나, 텍스트를 보여주거 나, 리스트를 보여주거나, 또는 어떤 이벤트에 대한 처리를 해주 는 뷰이다. 뷰 그룹 : 뷰를 상속받은 것으로 위젯에 속한다. 뷰 그룹은 또 다 른 위젯을 자식으로 가질 수 있으며 복수의 자식도 가능합니다. 뷰 그룹은 Layout을 통해 프로그래머가 화면 구성을 컨트롤 할 수 있게 해 준다. 앱 위젯 : 앱 위젯은 흔히 우리가 생각하는 스마트폰 바탕화면에 보여지는 위젯이다. 앱 위젯과 위젯을 함께 말할때는 혼동되지 않도록 주의해야 한다.
View, Widget, View Group
View - ImageView ImageView ? 주 사용 속성 이미지 뷰는 아이콘이나 비트맵을 출력하는 위젯이다. 리소스, 파일 등은 기본에 웹 상의 이미지 역시 표기가 가능 하다. 주 사용 속성 Src maxHeight maxWidth adjustViewBounds 이미지 지정 이미지가 출력될 크기 지정 이미지가 표현하고자 하는 레이아웃보다 클 때 비율 유지 여부 지정 @drawable/ID 형식으로 표기 모바일 장비의 해상도가 충분하지 않으므로 크기를 제한할 필요가 있다. true 나 false 중 하나를 활용한다.
View - ImageView 주 사용 속성 cropToPadding Tint scaleType 이미지가 레이아웃보다 클 때 잘라 낼 것인지에 대한 여부를 결정한다. 이미지에 색조를 입히는 기능. 이미지의 원래 크기와 다르게 출력할 때 적용할 확대, 축소 알고리즘을 지정한다. True or false 로 표기한다. #aarrggbb 형식으로 색상을 지정하는데 이 색상이 이미지 위에 살짝 덮혀 출력된다. Matrix, fitxy, center, centerCrop, centerInside 등의 여러가지 알고리즘 중 하나를 지정한다.
View - ImageView 이미지 등록 방법
View – ImageView 예제
View – Button & EditText 사용자의 명령을 전달받는 위젯 EditText ? 문자열을 입력 받는 위젯 사용자의 입력을 받아 들이는 위젯은 내용을 출력 만 하는 위젯에 비해 속성도 더 많고 이벤트도 처 리해야 하므로 훨씬 더 복잡하기 때문에 이번 실습 에서는 간단한 이벤트 처리만 소개함.
View – Button & EditText 예제
View – Button & EditText 예제
ViewGroup - Layout Layout 이란 보여지는 시각물을 보다 간결하게 정 리, 배열, 배치하는 효과와 함께 가독성을 높이기 위한 작업 과정을 말한다. 이와 같이 TextBox 의 크기나 위치를 조절할 수 있다
Layout - LinearLayout Android의 주로 사용되는 Layout은 LinearLayout. 자식 뷰 들을 순서대로 한 방향으로 나열해주는 역할을 합니다. LinearLayout을 컨트롤 하기 위한 몇 가지 속성 android:layout_width 속성 - 이 속성은 레이아웃의 가로크기 를 나타냅니다. android:layout_height 속성 - 이 속성은 레이아웃의 세로크 기를 나타냅니다. android:oritentation 속성 vertical일 경우 위에서 아래로 view를 차례로 배치한다. horizontal일 경우 왼쪽에서 오른쪽으로 view를 차례로 배치한다.
Layout - gravity와 layout_gravity Android:gravity 속성 이 속성은 Layout안에 있는 모든 위젯들의 위치를 똑같이 지정해 준다. Android:layout_gravitiy 속성 이 속성은 각각의 위젯 위치를 지정합니다. 부모 Layout 안에서 자신의 위치를 정의합니다. 해당 값들은 논리적으로 만족할 경우 복수의 값을 지정가능.
Layout - gravity와 layout_gravity android:gravity & android:layout_gravity 에 설 정할 수 있는 값 Left, right, top, bottom, center_vertical, center_horizontal, center
Layout - gravity와 layout_gravity 실습 예제
Layout – layout_weight android:layout_weight 는 기본적으로 비율을 나 타내는 속성 layout_weight에 0의 값을 준다면, 이 레이아웃은 절 대적으로, 배정받은 크기만큼의 영역을 차지하게 된다.
Layout – layout_weight 실습 예제
Layout – layout_weight
Layout - AbsolutLayout AbsoluteLayout은 이름 그대로 관계나 순서에 상관없이 지정한 절대 좌표에 차일드 뷰를 배치하 는것을 말한다. 규칙이 매우 단순하므로 다음 예제를 참고한다.
Layout – AbsolutLayout 예제 Absolutelayout xml
Layout - TableLayout TableLayout은 이름이 의미하는 바대로 표 형식 으로 차일드를 배치하는 레이아웃이다. 표는 가로, 세로로 줄을 긋고 각 줄이 만나는 행과 열로 구성되는데 쉽게 말해서 바둑판 모양이라고 생각하면 된다. 테이블은 임의 개수의 TableRow 객체로 구성되며 이 객체 하나가 곧 행이 된다.
Layout – TableLayout - 예제 TableLayout xml
Layout 한 레이아웃의 내부에 다른 레이아웃이 들어갈 수 있다.