Daum 카페

Similar documents
[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

( )부록

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

리니어레이아웃 - 2 -

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

어댑터뷰

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.

13ÀåÃß°¡ºÐ

12 주차 인텐트

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

슬라이드 1

Microsoft PowerPoint App Fundamentals[Part2].pptx

// 화면을터치하였을때해야할작업구현 case MotionEvent.ACTION_MOVE: // 화면을드래그하였때 // 화면을드래그하였을때해야할작업구현 case MotionEvent.ACTION_UP: // 화면에서터치가사라질때 // 화면에서터치가사라질때해야할자업구현 c

2_안드로이드UI

슬라이드 1

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25

03장

슬라이드 1

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부

50_1953.pdf

1부

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt

01장

슬라이드 1

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부

Microsoft PowerPoint - DoItAndroid_PART02_01_기본위젯과레이아웃_Rev.1.0 [호환 모드]

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

슬라이드 1

Chap 8 호스트시스템개발환경구성및 안드로이드개발환경구축

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부

제11장 프로세스와 쓰레드

슬라이드 1

12Àå PDF

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

학습목표 인텐트로다른액티비티나프로그램을실행시킬수있다. 웹뷰를통해웹화면을액티비티화면의일부로구성할수있다. 자바스크립트를통해안드로이드프로그램을호출하는방법을안다. 안드로이드응용프로그램에서웹서비스를이용하는방법을안다.

안드로이드2_14

Android Master Key Vulnerability

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

Microsoft PowerPoint App Fundamentals[Part1].pptx

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

변수이름 변수값 PATH ;C:\Program Files\Java\jdk1.8.0_45\bin CLASSPATH.;C:\Program Files\jdk1.8.0_45\lib\tools.jar JAVA_HOME C:\Program Files\Java\jdk1.8.0_45

THE TITLE

¾Èµå·ÎÀÌµå ³¹Àå-Åë.PDF

XML Parser

슬라이드 1

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Presentation

gnu-lee-oop-kor-lec10-1-chap10

adlibr-android_4.x

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

Microsoft PowerPoint - CSharp-10-예외처리

07( ) CPLV12-35.hwp

위젯과레이아웃위젯은 View 클래스를상속해화면디스플레이와이벤트처리를할수있도록구현된스크린구성의최소단위를말한다. android.widget 패키지에는여러유형의위젯들이포함되어있다. TextView, ImageView, Button, ImageButton 등은가장간단한위젯들이

Microsoft PowerPoint - 04기본위젯(Ver 1.0)

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도

rosaec_workshop_talk

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

오버라이딩 (Overriding)

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

PowerPoint Template

Microsoft PowerPoint - 15주차(최종).pptx

MVVM 패턴의 이해

콘텐츠 PowerPoint 디자인

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft Word - src.doc

Microsoft Word - 김정훈

1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로

1 개요 이가이드는 Cocos2d-x 엔진을사용하는안드로이드어플리케이션프로젝트에서아이지에이웍스의서비스를 이용하기위한플러그인가이드입니다. 기능 IGAWorks Cocos2d-x 플러그인이지원하는 IGAW 서비스는아래와같습니다. - 애드브릭스 - 애드팝콘 - 디스플레이애드

PowerPoint Presentation

슬라이드 1

PowerPoint Presentation

2장 변수와 프로시저 작성하기


Microsoft PowerPoint UI-Layout.Menu.pptx

레이아웃 (Layout)

No Slide Title

제8장 자바 GUI 프로그래밍 II

뷰그룹 ( 레이아웃 ) 레이아웃이름 ( 클래스이름 ) FrameLayout LinearLayout 설명단일객체를표현하기위한프레임. 왼쪽상단에하나의뷰를배치하기때문에나중 에그린객체만보여준다. 수평또는수직으로자손의뷰를배치. 뷰가들어갈만한공간이없을때는자동으로 스크롤바가나타난다

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

Microsoft Word - 김정훈.doc

C++ Programming

Spring Boot

INAPP결제 API 가이드

Contents v 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. v 내용 뷰 (View) 리니어레이아웃 (Linear Layout)

<4D F736F F D20BEC8B5E5B7CEC0CCB5E520BCBCB9CCB3AA>

Transcription:

인쇄하기 인쇄 [22 장 ] 프래그먼트 (1/8) (20140815 완료 ) 책에담지못한장들 슈퍼성근 조회 326 2014/08/10 22:38:46 주의 : 소스내용중 "0nClick", "0nStart" 함수명첫글자가숫자 0 인것은오타가아닙니다. 다움게시판은 o n C l i c k 라는글을입력할수없기때문에어쩔수없이 영문소문자 o 를숫자 0 으로대체하였습니다. ^^; 22 장프래그먼트 프래그먼트를간단히한줄로설명하자면, 액티비티내의작은액티비티라할수있다. 그말은프래그먼트는 UI 와 라이프사이클을가지고있는독립적인모듈이라는의미다. 그러나독립적으로실행될수없고액티비티에포함되어 사용된다는점은액티비티와다른점이다. [ 그림 22 1] 을살펴보자. 그림 22 1 프래그먼트 1 프래그먼트는액티비티와같이자신만의레이아웃을포함하고, 별도의생명주기함수도가진다. 이단위 는매우유연하고독립적이어서다른액티비티에포함될수도있다. 2, 3 과같이특정액티비티는여러프래그먼트를조합하여화면을구성할수있다. [ 그림 22 1] 과같이프래그먼트단위의조합으로만들어진액티비티는복잡도가낮고유지보수가용이하다. 즉프래그먼트단위로레이아웃과자바소스파일이분리되기때문이다. 여기까지보자면프래그먼트는안드로이드의필수적인요소라고느껴질수있다. 하지만프래그먼트는안드로이드 API 11 허니콤부터추가되었고, 그전까지프래그먼트가없어도앱을구현하는데문제는없었다. 아니좀더정확히표현하자면프래그먼트를대신할수있는다른요소들을이용했다고하는것이맞다. 그래서프래그먼트를정확히이해하려면 [ 그림 22 2] 과같이프래그먼트이전의기술들을차례대로살펴보는것이중요하다. http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 1/10

그림 22 2 뷰와뷰그룹에서프래그먼트까지 1 레이아웃은뷰와뷰그룹요소만으로도원하는화면과그에대한처리를모두할수있다. 2 하지만 include 레이아웃요소를이용하면좀더화면을유연하게구성할수있도록돕는다. 3 하지만 ActivityGroup 를이용하면여러개의액티비티를포함할수있기때문에훨씬강력한방법으로화 면을유연하고독립적으로구성할수있다. 4 하지만프래그먼트를이용하면 ActivityGroup 보다완벽한방법으로화면을유연하고독립적으로구성할 수있다. 참고로프래그먼트는 ActivityGroup 의문제점들은해결하기위해등장했다. 즉프래그먼트는 ActivityGroup 를대체하기위해탄생한것이다. [ 그림 22 2] 에나열된기술의흐름은너무자연스러워그필요성을느끼는데전혀어렵지않다. 가벼운마음으로시 작해보자. [ 이장의실습내용 ] 1 2 3 4 뷰와뷰그룹만을이용하기에는불편한레이아웃 XML 레이아웃 XML 요소 include 활용 ActivityGroup 활용프래그먼트활용 22.1 레이아웃 XML 요소 include 레이아웃 XML 의 include 요소는특정레이아웃을다른레이아웃안으로포함시킬수있도록한다. 따라서여러레이 아웃에중복적으로들어가는부분의레이아웃을따로빼서별도의레이아웃리소스파일을만들고, 필요한레이아 웃에 include 요소를이용하여추가하면된다. 먼저 include 요소의필요성을예제를통해느껴보자. 22.1.1 뷰와뷰그룹을이용한일반적인레이아웃 일반적인 [ 그림 22 3] 과같은레이아웃을구성해보는과정에서불편한요소를찾아보자. 그림 22 3 일반적인레이아웃구조 1 A 액티비티는상단에부제목텍스트와메뉴, 종료버튼으로구성된부제목영역이존재하고그하단에는 액티비티의콘텐트영역의레이아웃이배치된다. 그리고가장하단에는 B 액티비티를실행할수있는버튼 이존재한다. http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 2/10

2 B 액티비티역시상단에 A 액티비티와같은부제목영역이존재하고하단에는액티비티의콘텐트영역의 레이아웃이배치된다. 새로운예제패키지를생성하고다음과같이 AndroidManifest.xml 을작성한다. 예제 22 1 일반적인레이아웃구조앱의 AndroidManifest.xml AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.superdroid.fragmentinclude" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="16" android:targetsdkversion="16" /> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".aactivity" android:label="a Activity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".bactivity" android:label="b Activity" /> </application> </manifest> AndroidManifest.xml 에 A, B 액티비티콤포넌트를등록했다. 다음은각액티비티에서사용될레이아웃을구현한다. 예제 22 2 A 액티비티의레이아웃리소스 res/layout/a_activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <!-- 부타이틀영역의레이아웃 --> <LinearLayout android:padding="5dp" android:background="#ccc" android:orientation="horizontal"> http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 3/10

<TextView android:layout_width="0dp" android:layout_weight="1" android:text=" 부타이틀영역입니다." /> <Button android:layout_width="wrap_content" android:text=" 메뉴 "/> <Button android:id="@+id/btn_finish" android:layout_width="wrap_content" android:text=" 종료 " android:0nclick="0nclick"/> <!-- A 액티비티 Content 영역의레이아웃 --> <TextView android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:textsize="25dp" android:text="a Activity Content Layout" /> <Button android:id="@+id/btn_run_b_activity" android:text="run B Activity" android:0nclick="0nclick"/> 예제 22 3 B 액티비티의레이아웃리소스 res/layout/b_activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <!-- 부타이틀영역의레이아웃 --> <LinearLayout android:padding="5dp" android:background="#ccc" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_weight="1" android:text=" 부타이틀영역입니다." /> http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 4/10

<Button android:layout_width="wrap_content" android:text=" 메뉴 "/> <Button android:id="@+id/btn_finish" android:layout_width="wrap_content" android:text=" 종료 " android:0nclick="0nclick"/> <!-- B 액티비티 Content 영역의레이아웃 --> <TextView android:gravity="center" android:textsize="25dp" android:text="b Activity Content Layout" /> 다음은 A, B 액티비티소스를구현한다. 예제 22 4 A 액티비티 src/aactivity.java public class AActivity extends Activity @Override protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.a_activity_main); public void 0nClick( View v ) switch( v.getid() ) case R.id.btn_finish: finish(); break; case R.id.btn_run_b_activity: Intent intent = new Intent(this, BActivity.class); startactivity(intent); break; http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 5/10

예제 22 5 B 액티비티 src/bactivity.java public class BActivity extends Activity @Override protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.b_activity_main); public void 0nClick( View v ) switch( v.getid() ) case R.id.btn_finish: finish(); break; 예제를실행하여결과를확인해보자. 그림 22 4 일반적인레이아웃예제앱실행결과 1 A 액티비티가실행되었다. 레이아웃을살펴보면상단에부제목영역과하단에 A 액티비티의콘텐트영역 이존재한다. 2 Run B Activity 버튼을눌러 B 액티비티를실행한다. 3 B 액티비티가실행되었다. 레이아웃을살펴보면상단에부제목영역과하단에 B 액티비티의콘텐트영역 이존재한다. 4 종료버튼을누른다. B 액티비티는종료되고 A 액티비티로복귀된다. 지금까지예제소스에서불편한점한가지를발견했는가! [ 그림 22 4] 를통해살펴보자. 그림 22 5 중복레이아웃영역 http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 6/10

1 A 는 B 액티비티를실행하고있다. 2 여기서 A, B 액티비티의레이아웃을살펴보면상단부제목영역이공통적으로존재한다. 3 만일 C, D, E 등으로더많은액티비티를실행하게된다면중복된부제목영역이계속추가되어야하고, 액티비티의레이아웃리소스에 [ 예제 22 2], [ 예제 22 3] 과같이반복적으로부제목영역의레이아웃코드를추가해줘야할것이다. 또한부제목영역의레이아웃이변경되기라도한다면모든레이아웃리소스들을수정해줘야하기때문에불편하다. 이렇게중복된레이아웃은소스의양을증가시키고유지보수를어렵게한다. 이문제를해결하기위해레이아웃에는 include 요소를제공하고있다. 그렇다면 include 요소를직접사용해보자. 22.1.2 include 요소활용 먼저중복되어사용되는레이아웃영역을별도의레이아웃 XML 파일로분리한다. 예제 22 6 중복레이아웃영역분리 res/layout/subtitle_layout.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:padding="5dp" android:background="#ccc" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_weight="1" android:text=" 부타이틀영역입니다." /> <Button android:layout_width="wrap_content" android:text=" 메뉴 "/> <Button android:id="@+id/btn_finish" android:layout_width="wrap_content" android:text=" 종료 " android:0nclick="0nclick"/> http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 7/10

이제분리된레이아웃을 A, B 액티비티레이아웃리소스에적용해보자. 예제 22 7 A 액티비티레이아웃리소스 res/layout/a_activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <!-- 부타이틀영역의레이아웃 --> <include layout="@layout/subtitle_layout"/> <!-- A 액티비티 Content 영역의레이아웃 --> <TextView android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:textsize="25dp" android:text="a Activity Content Layout" /> <Button android:id="@+id/btn_run_b_activity" android:text="run B Activity" android:0nclick="0nclick"/> 예제 22 8 B 액티비티레이아웃리소스 res/layout/b_activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <!-- 부타이틀영역의레이아웃 --> <include layout="@layout/subtitle_layout"/> <!-- B 액티비티 Content 영역의레이아웃 --> <TextView android:gravity="center" android:textsize="25dp" android:text="b Activity Content Layout" /> 간단히부제목영역의레이아웃을제거하고, 그부분에 include 요소를추가한다음 layout 속성값으로분리된레이 아웃리소스 ID 를적어주면끝이다. http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 8/10

22.1.3 include 요소의한계 공통적으로사용될레이아웃을분리하여필요한레이아웃에끼워넣는 include 요소의장점은딱거기까지다. 즉레이아웃리소스의소스양을줄여유지보수하기쉽도록돕는다는점이외에는특별한것이없다는것이다. 물론이것만으로도충분한가치가있고꼭알고있어야할기술임에는분명하다. 어쨌든 include 요소의한계는무엇이고, 어떤것이더필요한지살펴보자. 그림 22 6 include 요소의한계 1 include 요소를이용하여부제목영역의레이아웃코드는재사용할수있었지만, 레이아웃객체는액티비티마다각각존재해서비효율적이다. 뿐만아니라 [ 예제 22 4], [ 예제 22 5] 와같이액티비티마다부제목영역의버튼처리를자바소스로각각중복해서구현해주어야해서유지보수가어렵다. 물론 A, B 액티비티가특정액티비티를상속받도록구현하고, 그상위액티비티에서부제목영역의처리를담당한다면이문제는해결될수있다. 하지만다음의상황에서또다른문제점이발생된다. 2 B 액티비티에서종료버튼을누르면 finish 함수를호출하고 A 액티비티로복귀한다. 하지만분명사용자는 앱자체가종료된다고생각할것이다. 3 그리고 A 액티비티에서종료버튼을누르면 A 액티비티가종료되고태스크하위에더이상액티비티가존 재하지않기때문에홈으로복귀한다. 즉앱이종료되었다고볼수있다. 결국 A, B 액티비티의부제목영역 의처리는동일한결과를처리할수없다. 이는 A, B 액티비티가분리되었기때문이다. 4 이문제를해결하려면 A, B 액티비티를하나의액티비티로합치면된다. 5 합쳐진액티비티레이아웃에는상단에고정영역의레이아웃이존재하고 6 하단에는콘텐트내용이변하는가변영역의레이아웃이존재하게된다. 7 가변영역은 FrameLayout 영역으로설정하고 A, B 의레이아웃을서로감췄다보여줬다하면서이동하면 된다. 8 여러액티비티에들어갈레이아웃을하나의액티비티에포함하고서로전환하면서보여주는것은매우효 율적이다. 하지만만일두가지레이아웃이아니라 C, D, E 등전환할레이아웃개수가늘어난다면하나 http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 9/10

의액티비티에서처리하기가매우복잡할뿐만아니라관리하기도쉽지않을것이다. [ 그림 22 6] 의 8 과같은문제를해결하기위해바로액티비티그룹 ActivityGroup 이라는것이존재한다. 다음글에서계속됩니다. [ 참고예제소스 ] 22 1. Include 요소적용전일반적인레이아웃.zip 22 2. Include 요소적용.zip http://cafe.daum.net/_c21_/bbs_print?grpid=1mwa2&mgrpid=&fldid=pgqt&dataid=4 10/10