Do It! 안드로이드앱프로그래밍 PART 0 Chapter 01 기본위젯과레이아웃 Sep. 011 이지스퍼블리싱 ( 주 ) 제공강의교안저자 : 정재곤 이번장에서는무엇을다룰까요? 이번장에서는무엇을다룰까요? 화면을먼저만들어보고싶어요. 레이아웃을이용해 뷰란무엇일까요? 뷰를화면에배치해볼까요? 기본위젯사용하기 뷰란무엇일까요? 버튼 검색어 안드로이드 텍스트 레이아웃을이용해뷰를화면에배치해볼까요? 텍스트뷰나버튼과같은기본위젯을추가해볼까요? 텍스트 입력상자 검색하기 android:id="@+id/textview01" android:text= 검색어 " 4
강의주제및목차 PART CH1. 기본위젯과레이아웃 강의주제 기본위젯과레이아웃에대해이해하기 1 뷰와뷰그룹 6 테이블레이아웃 1. 뷰와뷰그룹 목차 레이아웃 7 스크롤뷰 리니어레이아웃 8 프레임레이아웃 4 상대레이아웃 9 기본위젯들 5 절대레이아웃 5 뷰와뷰그룹의정의 뷰의속성 뷰 (View) - 보통콘트롤이나위젯이라는이름으로불리는 UI 구성요소 layout_width, layout_height 뷰의폭과높이를설정함 - fill_parent (match_parent) 뷰그룹 (View Group) 무조건남아있는여유공간을채움 -wrap_content [ 뷰와뷰그룹의관계 ] - 뷰들을여러개포함하고있는것 - 뷰그룹을뷰에서상속하면뷰그룹도뷰가됨 위젯 (Widget) id 뷰에들어있는내용물의크기에따라뷰의크기가결정됨 - 뷰의 ID 를지정함 - 뷰중에서일반적인컨트롤의역할을하고있는것 레이아웃 (Layout) background - 뷰의배경을설정함 [ 버튼과리니어레이아웃의계층도 ] - 뷰그룹중에서내부에뷰들을포함하고있으면서그것들을배치하는역할을하는것 [fill_parent 와 wrap_content 값을폭과넓이에적용한예 ] 정수값 - 크기를고정된값으로만들고싶을때사용함 1. 뷰와뷰그룹 7 1. 뷰와뷰그룹 8
XML 레이아웃으로구성하기 뷰의크기지정에사용되는단위 1 android:text="layout" android:text="layout 1 단위단위표현설명 px 픽셀화면픽셀 dp 또는 dip 밀도독립적픽셀 (density independent pixel) 160dpi 화면을기준으로한픽셀 예 ) 1인치당 160개의점이있는디스플레이화면에서 1dp는 1px와같음. 1인치당 0개의점이있는디스플레이 h하면에서 1dp는 px와같음. 4 [fill_parent 와 wrap_content 값을폭과넓이에적용한예 ] android:text="layout" android:text="layout" 4 sp 또는 sip 축척독립적픽셀 (scale independent pixel) in 인치 1 인치로된물리적길이 mm 밀리미터 1 밀리미터로된물리적길이 가변글꼴을기준으로한픽셀로dp와유사하나글꼴의설정에따라달라짐 em 텍스트크기글꼴과상관없이동일한텍스트크기표시 1. 뷰와뷰그룹 9 1. 뷰와뷰그룹 10 뷰의 ID 속성 뷰의 background 속성 android:id="@+id/button" android:text="layout" [ 버튼의 id 추가 ] public class SampleLayoutActivity extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button button = (Button) findviewbyid(r.id.button ); [ 버튼의 id 참조 ] 인플레이션 (Inflation) - XML 레이아웃에정의된정보를메모리상에서객체로만드는객체화과정 - 애플리케이션이시작될때이과정을거쳐메모리상에만들어진객체들을참조하기위해 ID를지정함 id 속성은자바코드상에서 R.id.[ID] 와같은형태로참조함 ("@+id/... ) [Format] #RGB #ARGB #RRGGBB #AARRGGBB [ 배경색에알파값을적용하여투명도를조절하는경우 ] XML 레이아웃에서색상을지정할때는 # 기호를앞에붙인후, ARGB(A : Alpha, R : Red, G : Green, B : Blue) 의순서대로색상의값을기록함 16 진수값을지정할때는여러가지포맷을사용할수있음 1. 뷰와뷰그룹 11 1. 뷰와뷰그룹 1
PART CH1. 기본위젯과레이아웃 대표적인레이아웃 레이아웃이름 설명. 레이아웃 리니어레이아웃상대레이아웃프레임레이아웃절대레이아웃테이블레이아웃스크롤뷰. 레이아웃 - 박스 (Box) 모델 - 사각형영역들을이용해화면을구성하는방법 - 표준자바의 BoxLayout과유사 - 규칙 (Rule) 기반모델 - 부모컨테이너나다른뷰와의상대적위치를이용해화면을구성하는방법 - 하나의뷰만을보여주는레이아웃 - 가장단순한레이아웃이지만뷰를중첩시킨후포함되어있는뷰들의가시성속성을이용하여뷰를전환하는데자주사용됨 - 절대 (Absolute) 위치모델 - 좌표값을이용해화면을구성하는방법 - 더이상지원하지않음 - 격자 (Grid) 모델 - 격자모양의배열을이용하여화면을구성하는방법 - HTML에서많이사용하는정렬방식과유사하여실용적임 - 스크롤이가능한컨테이너 - 뷰또는뷰그룹이들어갈수있으며화면영역을넘어갈때스크롤기능제공 14 레이아웃에뷰를추가하는방식 레이아웃의기본속성 채우기 : fill model - 뷰를부모뷰의여유공간에어떻게채울것인지를설정함 방향 : orientation - 뷰를추가하는방향을설정함 정렬방향 : gravity - 뷰의정렬방향을설정함 여유공간 : padding - 뷰의여유공간을설정함 공간가중치 : weight - 뷰가차지하는공간의가중치값을설정함. 레이아웃 15. 레이아웃 16
PART CH1. 기본위젯과레이아웃 리니어레이아웃 방향설정하기. 리니어레이아웃 <?xml version="1.0" encoding="utf 8"? <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation= "vertical" android:id="@+id/button01" 1 리니어레이아웃방향설정 android:text="button01" android:id="@+id/button0" android:text="button0" 첫번째버튼설정두번째버튼설정 프로젝트를처음만들었을때만들어지는리니어레이아웃은세로방향으로되어있음 순서대로세개의버튼을추가할경우에 XML과자바코드상에서설정하는방법은다음의코드와같음 android:id= "@+id/button0" android:text="button0" </LinearLayout 4 세번째버튼설정. 리니어레이아웃 18 리니어레이아웃 방향설정하기 ( 계속 ) 리니어레이아웃 자바코드에서구성하기 자바코드에서직접레이아웃객체를만들고파라미터설정 LinearLayout mainlayout = new LinearLayout(this); mainlayout.setorientation(linearlayout.vertical); 1 레이아웃객체생성 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 파라미터설정 Button button01 = new Button(this); [ 세로방향으로설정한경우 ] [ 가로방향으로설정을바꾼경우 ] [ 버튼의 layout_width 속성을 wrap_content로바꾼경우 ] button01.settext("button 01"); button01.setlayoutparams(params); mainlayout.addview(button0); 버튼객체생성하여추가 setcontentview(mainlayout); 4 화면설정. 리니어레이아웃 19. 리니어레이아웃 0
리니어레이아웃 정렬방향설정하기 리니어레이아웃 정렬방향설정하기 ( 계속 ) [ 두가지정렬속성 ] 정렬속성 layout_gravity gravity layout_gravity 설명 - 부모컨테이너의여유공간에뷰가모두채워지지않아여유공간안에서뷰를정렬할때 - 뷰에서화면에표시하는내용물을정렬할때 ( 텍스트뷰의경우, 내용물은글자가되고이미지뷰의경우내용물은이미지가됨 ) - 뷰의 layout_width 나 layout_height 속성을 wrap_content 로할경우에같이사용할수있음 id 속성은자바코드상에서 R.id.[ID] 와같은형태로참조함 ("@+id/... ) <?xml version="1.0" encoding="utf-8"? android:orientation= "vertical" android:id="@+id/button01" 1 리니어레이아웃방향설정 android:layout_gravity= "left" android:text="left" 첫번째버튼정렬. 리니어레이아웃 1. 리니어레이아웃 리니어레이아웃 정렬방향설정하기 ( 계속 ) 리니어레이아웃 정렬을위해사용할수있는값 [ 정렬을위해 gravity 속성에지정할수있도록정의된값 ] android:id="@+id/button0" android:layout_gravity= "center" android:text="center" android:id="@+id/button0" android:layout_gravity= "right" android:text="right" </LinearLayout 4 두번째버튼정렬 세번째버튼정렬 정렬속성값 top bottom left right center_vertical center_horizontal fill_vertical fill_horizontal center fill clip_vertical clip_horizontal - 대상객체를위쪽끝에배치하기 - 대상객체를아래쪽끝에배치하기 - 대상객체를왼쪽끝에배치하기 - 대상객체를오른쪽끝에배치하기 - 대상객체를수직방향의중앙에배치하기 - 대상객체를수평방향의중앙에배치하기 설명 - 대상객체를수직방향으로여유공간만큼확대하여채우기 - 대상객체를수평방향으로여유공간만큼확대하여채우기 - 대상객체를수직방향과수평방향의중앙에배치하기 - 대상객체를수직방향과수평방향으로여유공간만큼확대하여채우기 - 대상객체의상하길이가여유공간보다클경우에남는부분을잘라내기 - top clip_vertical 로설정한경우아래쪽에남는부분잘라내기 - bottom clip_vertical 로설정한경우위쪽에남는부분잘라내기 - center_vertical clip_vertical 로설정한경우위쪽과아래쪽에남는부분잘라내기 - 대상객체의좌우길이가여유공간보다클경우에남는부분을잘라내기 - right clip_horizontal 로설정한경우왼쪽에남는부분잘라내기 - left clip_horizontal 로설정한경우오른쪽에남는부분잘라내기 - center_horizontal clip_horizontal 로설정한경우왼쪽과오른쪽에남는부분잘라내기. 리니어레이아웃. 리니어레이아웃 4
리니어레이아웃 글자아랫줄정렬 리니어레이아웃 글자아랫줄정렬 <?xml version="1.0" encoding="utf-8"? android:orientation="horizontal" android:baselinealigned= "true" android:id="@+id/button01" android:gravity="right bottom" android:text=" 큰글씨 " android:textsize= "dp" 1 글자의아랫줄맞추기글자크기를크게하기 android:id="@+id/button0" android:text=" 중간글씨 " android:textcolor="#ff00ff00" android:textsize="dp" 글자크기를작게하기 android:id="@+id/button0" android:text=" 작은글씨 " android:textcolor="#ff0000ff" android:textsize="1dp" </LinearLayout 4 글자크기를좀더작게하기. 리니어레이아웃 5. 리니어레이아웃 6 리니어레이아웃 여유공간설정하기 리니어레이아웃 여유공간설정하기 ( 계속 ) padding 속성 - 뷰안의내용물인텍스트나이미지와뷰안의영역사이의여백을줄수있는방법. 리니어레이아웃 [padding 을이용한뷰내부의여백주기 ] [layout_margin 을이용한부모여유공간과의여백주기 ] 7 layout_margin 속성 - 부모컨테이너의여유공간과뷰사이의여백을줄수있는방법 위젯셀 - 위젯이나뷰들은부모컨테이너로부터할당된공간을차지하게되며이를 위젯셀 (cell) 이라고부름 <?xml version="1.0" encoding="utf-8"? android:orientation="horizontal" android:background= "#ffffffff" android:id="@+id/button01" 1 배경색설정 android:background="#ffffff00" android:text=" 텍스트 " android:textsize="4dp" android:padding= "0dp" 위젯내부여백설정. 리니어레이아웃 8
리니어레이아웃 여유공간설정하기 ( 계속 ) 리니어레이아웃 공간가중치설정하기 android:id="@+id/button0" android:background="#ff00ffff" android:text=" 텍스트 " android:textsize="4dp" android:layout_margin= "10dp" android:id="@+id/button0" 위젯과여유공간사이의여백설정 android:background="#ffff00ff" android:text=" 텍스트 " android:textsize="4dp" android:padding= "0dp" </LinearLayout 4 위젯내부여백설정 공간가중치는같은부모뷰에포함되어있는뷰들이여유공간을얼마나차지할수있는지를비율로지정한것 android:weight 속성사용. 리니어레이아웃 9. 리니어레이아웃 0 리니어레이아웃 공간가중치설정하기 리니어레이아웃 공간가중치설정하기 ( 계속 ) <?xml version="1.0" encoding="utf-8"? android:orientation= "vertical" 1 레이아웃방향설정 <LinearLayout android:orientation= "horizontal" android:background="#ffffffff" android:id="@+id/button01" android:background="#ffffff00" android:text=" 텍스트 " android:textsize="16dp" android:layout_weight= "1" 레이아웃방향설정공간가중치설정 android:id="@+id/button0" android:background="#ff00ffff" android:text=" 텍스트 " android:textsize="16dp" android:layout_weight= "1" android:id="@+id/button0" 4 공간가중치설정 android:background="#ffff00ff" android:text=" 텍스트 " android:textsize="16dp" android:layout_weight= "1" </LinearLayout 5 공간가중치설정. 리니어레이아웃 1. 리니어레이아웃
리니어레이아웃 공간가중치설정하기 ( 계속 ) 리니어레이아웃 공간가중치설정하기 ( 계속 ) <LinearLayout android:orientation= "horizontal" android:background="#ffffffff" android:id="@+id/button04" android:background="#ff00ffff" android:text=" 텍스트 " android:textsize="4dp" 6 레이아웃방향설정 android:layout_weight= "" 7 공간가중치설정 android:id="@+id/button05" android:background="#ffff00ff" android:text=" 텍스트 " android:textsize="4dp" android:layout_weight= "1" 8 </LinearLayout </LinearLayout 공간가중치설정. 리니어레이아웃. 리니어레이아웃 4 PART CH1. 기본위젯과레이아웃 상대레이아웃 상대레이아웃은다른뷰나부모뷰와의상대적인위치를이용해뷰를배치하는방법 4. 상대레이아웃 [ 상대레이아웃을이용한뷰의배치방법 ] 4. 상대레이아웃 6
상대레이아웃의속성사용 상대레이아웃의속성사용 ( 계속 ) <?xml version="1.0" encoding="utf-8"? <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:text=" 전체버튼 " android:textcolor="#ff000000" android:textsize="4sp" android:background="#ff00ffff" android:layout_centerinparent= "true" 1 한가운데배치 android:text=" 하단버튼 " android:textcolor="#ff000000" android:textsize="4sp" android:layout_alignparentbottom= "true" </RelativeLayout 아래쪽배치 4. 상대레이아웃 7 4. 상대레이아웃 8 상대레이아웃에서사용할수있는속성들 상대레이아웃에서사용할수있는속성들 [ 상대레이아웃에서부모컨테이너와의상대적위치를이용하는속성 ] [ 상대레이아웃에서다른뷰와의상대적위치를이용하는속성 ] 속성 설명 속성 설명 layout_above - 지정한뷰의위쪽에배치함 layout_alignparenttop - 부모컨테이너의위쪽과뷰의위쪽을맞춤 layout_below - 지정한뷰의아래쪽에배치함 layout_alignparentbottom - 부모컨테이너의아래쪽과뷰의아래쪽을맞춤 layout_toleftof - 지정한뷰의왼쪽에배치함 layout_alignparentleft - 부모컨테이너의왼쪽끝과뷰의왼쪽끝을맞춤 layout_torightof - 지정한뷰의오른쪽에배치함 layout_alignparentright - 부모컨테이너의오른쪽끝과뷰의오른쪽끝을맞춤 layout_aligntop - 지정한뷰의위쪽과맞춤 layout_centerhorizontal - 부모컨테이너의수평방향중앙에배치함 layout_alignbottom - 지정한뷰의아래쪽과맞춤 layout_centervertical layout_centerinparent - 부모컨테이너의수직방향중앙에배치함 - 부모컨테이너의수평과수직방향중앙에배치함 layout_alignleft layout_alignright layout_alignbaseline - 지정한뷰의왼쪽과맞춤 - 지정한뷰의오른쪽과맞춤 - 지정한뷰와내용물의아래쪽기준선 (baseline) 을맞춤 4. 상대레이아웃 9 4. 상대레이아웃 40
PART CH1. 기본위젯과레이아웃 테이블레이아웃 5. 테이블레이아웃 <?xml version="1.0" encoding="utf-8"? <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:stretchcolumns= "1" 1 폭에맞추어열을자동확장 <TableRow android:text="name : " android:textsize="4dp" android:padding="10dp" android:text=" 박찬기 " android:textsize="4dp" android:gravity="left" android:padding="10dp" </TableRow 테이블의첫번째행 5. 테이블레이아웃 4 테이블레이아웃 ( 계속 ) PART CH1. 기본위젯과레이아웃 <TableRow android:text="age : " android:textsize="4dp" android:padding="10dp" android:text="6" android:textsize="4dp" android:gravity="left" android:padding="10dp" </TableRow </TableLayout 테이블의두번째행 6. 스크롤뷰 5. 테이블레이아웃 4
스크롤뷰사용하기 스크롤뷰의 XML 레이아웃 스크롤뷰예제 -주어진영역보다큰이미지에스크롤이생기도록만들기 XML 레이아웃메인액티비티코드 -레이아웃코드작성 -메인액티비티코드작성 <?xml version="1.0" encoding="utf-8"? android:orientation="vertical" android:id="@+id/button01" android:layout_gravity="center" android:text="change Image" <HorizontalScrollView android:id="@+id/horscrollview01" 1 버튼스크롤뷰 6. 스크롤뷰 45 6. 스크롤뷰 46 스크롤뷰의 XML 레이아웃 ( 계속 ) 스크롤뷰의메인액티비티코드 <ScrollView android:id="@+id/scrollview01" <ImageView android:id="@+id/imageview01" </ScrollView </HorizontalScrollView </LinearLayout 4 스크롤뷰 이미지뷰 scrollview01 = (ScrollView) findviewbyid(r.id.scrollview01); imageview01 = (ImageView) findviewbyid(r.id.imageview01); Button button01 = (Button) findviewbyid(r.id.button01); scrollview01.sethorizontalscrollbarenabled(true); Resources res = getresources(); BitmapDrawable bitmap = (BitmapDrawable) 1 객체참조기능설정 res.getdrawable(r.drawable.system_architecture); int bitmapwidth = bitmap.getintrinsicwidth(); int bitmapheight = bitmap.getintrinsicheight(); imageview01.setimagedrawable(bitmap); 이미지참조 imageview01.getlayoutparams().width = bitmapwidth; imageview01.getlayoutparams().height = bitmapheight; 4 크기설정 6. 스크롤뷰 47 6. 스크롤뷰 48
스크롤뷰의메인액티비티코드 PART CH1. 기본위젯과레이아웃 button01.setonclicklistener(new OnClickListener() { public void onclick(view v) { changeimage(); ); private void changeimage() { Resources res = getresources(); BitmapDrawable bitmap = (BitmapDrawable) res.getdrawable(r.drawable.activity_lifecycle); int bitmapwidth = bitmap.getintrinsicwidth(); int bitmapheight = bitmap.getintrinsicheight(); imageview01.setimagedrawable(bitmap); imageview01.getlayoutparams().width = bitmapwidth; imageview01.getlayoutparams().height = bitmapheight; 5 리소스변경 7. 프레임레이아웃 6. 스크롤뷰 49 프레임레이아웃과뷰의전환 프레임레이아웃과뷰의전환 XML 레이아웃 뷰전환예제 -프레임레이아웃을이용해뷰를중첩하여만들기 -버튼을누르면다른이미지로전환하기 XML 레이아웃메인액티비티코드 -레이아웃코드작성 -메인액티비티코드작성 <?xml version="1.0" encoding="utf-8"? android:orientation="vertical" android:id="@+id/button01" 1 전환버튼 android:layout_gravity="center" android:text="change Image" <FrameLayout 화면채우기 7. 프레임레이아웃 51 7. 프레임레이아웃 5
프레임레이아웃과뷰의전환 XML 레이아웃 프레임레이아웃과뷰의전환 메인액티비티코드 <ImageView android:id="@+id/imageview01" android:src="@drawable/activity_lifecycle" android:visibility= "invisible" <ImageView android:id="@+id/imageview0" android:src="@drawable/system_architecture" 이미지뷰설정 android:visibility= "visible" </FrameLayout </LinearLayout 4 이미지뷰설정 package org.androidtown.ui;... public class SampleFrameLayoutActivity extends Activity { Button button01; ImageView imageview01; ImageView imageview0; 1 객체참조 int imageindex = 0; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); button01 = (Button) findviewbyid(r.id.button01); imageview01 = (ImageView) findviewbyid(r.id.imageview01); imageview0 = (ImageView) findviewbyid(r.id.imageview0); button01.setonclicklistener(new OnClickListener() { public void onclick(view v) { changeimage(); ); 7. 프레임레이아웃 5 7. 프레임레이아웃 54 프레임레이아웃과뷰의전환 메인액티비티코드 PART CH1. 기본위젯과레이아웃 private void changeimage() { if (imageindex == 0) { imageview01.setvisibility(view.visible); imageview0.setvisibility(view.invisible); imageindex = 1; else if (imageindex == 1) { imageview01.setvisibility(view.invisible); imageview0.setvisibility(view.visible); imageindex = 0; 이미지뷰설정 이미지뷰설정 7. 프레임레이아웃 55
기본위젯 텍스트뷰의속성 기본위젯 텍스트뷰의속성사용 텍스트뷰 - text : 텍스트뷰에보이는문자열을설정할수있음 - textcolor : 텍스트뷰에서표시하는문자열의색상을설정함 : 색상설정은 "#AARRGGBB" 포맷을일반적으로사용 (Alpha, Red, Green, Blue) : 투명도를나타내는 Alpha( 색상만표현할때 - "FF", 투명 - 00, 반투명 - "88 ) - textsize : 텍스트뷰에서표시하는문자열의크기를설정함 ("dp" 나 sp" 또는 "px" 등의단위값을사용함 ) - textstyle : 텍스트뷰에서표시하는문자열의스타일속성을설정함 ("normal", "bold", "italic" 등의값을지정할수있음 ) - typeface : 텍스트뷰에서표시하는문자열의폰트를설정함 ("normal", "sans", "serif", "monospace") - singleline : 텍스트뷰에서표시하는문자열이한줄로만표시되도록설정함 <?xml version="1.0" encoding="utf-8"? android:orientation="vertical" android:id="@+id/textview01" android:background= "#ff000055" 1 배경색설정 android:padding="px" android:text=" 여기에사용자이름을입력하세요." android:textsize= "sp" 크기설정 android:textstyle= "bold" android:textcolor= "#88ff8888" android:singleline= "true" android:gravity="center" 5 </LinearLayout 스타일설정 4 색상설정한줄설정 57 58 기본위젯 버튼의속성사용 기본위젯 버튼의속성사용 ( 계속 ) <RadioGroup <?xml version="1.0" encoding="utf-8"? android:orientation="vertical" android:id="@+id/btnexit" android:text=" 선택 " android:textsize="4dp" android:textstyle="bold" android:gravity="center" 1 기본버튼 android:id="@+id/radiogroup01" android:orientation="horizontal" android:paddingleft="5dp" android:paddingright="5dp" <RadioButton android:id="@+id/radio01" android:layout_weight="1" android:text=" 남성 " android:textcolor="#ffaaff10" android:textstyle="bold" android:textsize="4dp" 라디오그룹 첫번째버튼 59 60
기본위젯 버튼의속성사용 ( 계속 ) 기본위젯 버튼의속성사용 ( 계속 ) <RadioButton android:id="@+id/radio0" android:layout_weight="1" 4 두번째버튼 android:text=" 하루종일 " android:text=" 여성 " android:textsize="4dp" android:textcolor="#ffaaff10" android:paddingright="10dp" android:textstyle="bold" android:textsize="4dp" </RadioGroup <LinearLayout android:gravity="center_vertical center_horizontal" android:paddingtop="10dp" android:textcolor="#ffaaff10" <CheckBox android:id="@+id/allday" </LinearLayout </LinearLayout 5 체크박스 61 6 기본위젯 입력상자의속성사용 기본위젯 이미지뷰의속성사용 <?xml version="1.0" encoding="utf-8"? android:orientation="vertical" <EditText android:id="@+id/txtusername" android:textsize="18sp" android:autotext= "true" 1 설정 android:capitalize= "words" 변경 android:hint= " 이름을입력하세요." </EditText </LinearLayout 표시 <?xml version="1.0" encoding="utf-8"? <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" <ImageButton android:id="@+id/imagebutton01" android:background="@drawable/ok_btn" android:layout_width="48px" 1 이미지버튼 android:layout_height="48px" android:layout_x="10px" android:layout_y="1px" </ImageButton <ImageView android:id="@+id/imageview01" android:background="@drawable/person" android:layout_width="64px" android:layout_height="64px" android:layout_x="160px" android:layout_y="160px" </ImageView </AbsoluteLayout 이미지뷰 6 64
참고문헌 [ References] 기본서적 011, 정재곤, Do it! 안드로이드앱프로그래밍, 이지스퍼블리싱 ( 주 ) Android Website http://www.android.com/ Google Developer s Conference http://code.google.com/events/io/ Android SDK Documentation References 65