기본적인 뷰 살펴보기
안드로이드는 화면을 구성하는 대 필요한 다양한 뷰 클래스를 제공합니다.
텍스트 뷰(TextView)
문자열을 화면에 출력하는 뷰입니다.
- android:text : TextView에 출력할 문자열/문자열 리소스 지정합니다. / ex) android:text="Hello World!"
- android:textColor : 문자열의 색상 지정(16진수 RGB 형식)합니다. / ex) android:textColor="#FF0000"
- android:textSize : 문자열의 크기 지정(숫자 사용, 단위 생략 불가) , 단위는 px, dp, sp 등을 사용합니다. / ex) android:textSize="20sp"
- android:textStyle : 문자열의 스타일을 지정, bold, italic, normal 중에서 선택 가능합니다. / ex) android:textStyle="bold"
- android:autoLink : TextView에 출력할 문자열을 분석해 특정 형태의 문자열에 자동 링크를 추가할 수 있습니다. 속성 값으로는 web, phone, email 등이 있으며 여러 개를 함께 사용하려면 " | "기호로 연결합니다. / ex) android:autoLink="web|phone|email"
- android:maxLines : 문자열이 특정 줄까지만 나오도록 설정할 때 사용하는 함수입니다. / ex) android:maxLines="3"
- android:ellipsize : maxLines 속성을 이용할 때 출력되지 않은 문자열이 더 있다는 것을 표시할 때 줄임표(...)를 표시합니다. 이 줄 임표가 어디에 위치시킬 지정할 수 있습니다.(어디를 생략할지 정할 수 있습니다.) 속성 값으로는 start, middle, end가 있습니다. start, middle의 경우 singleLine = "true" 속성으로 문자열을 한 줄로 출력했을 때만 적용할 수 있습니다. / ex) android:ellipsize="end"
이미지 뷰(ImageView)
이미지를 화면에 출력하는 뷰입니다.
- android:src : ImageView에 출력할 이미지를 설정합니다. 리소스 이미지, 파일 이미지, 네트워크 이미지 등을 출력할 수 있습니다. / ex) android:src="@drawable/image1"
- android:maxWidth, maxHeight, adjustViewBounds 속성 : ImageView가 출력하는 이미지의 최대 크기 지정할 때 사용합니다. maxWidth, maxHeight 속성은 adjustViewBounds와 함께 사용해야 합니다. 속성 값을 true로 설정할 경우, 이미지의 가로세로 길이와 비례해 뷰의 크기를 맞춥니다. 이미지 크기나 가로세로 비율이 다양하다면 뷰의 크기가 이미지 크기보다 커질 수 있기 때문에 layout_width, layout_height 속성에 숫자를 지정하지 않습니다.
android:maxWidth="100dp"
android:maxHeight="100dp"
android:adjustViewBounds="true"
버튼, 체크박스, 라디오 버튼
상호작용 이벤트로 자주 쓰입니다.
- Button : 사용자 이벤트를 처리
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1"/>
- CheckBox : 다중 선택
<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "CheckBox1"/>
- RadioButton : 단일 선택을 제공
<RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "RadioButton1"/> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text = "RadioButton2"/> </RadioGroup>
에디트 텍스트(EditText)
사용자가 글을 입력할 수 있는 뷰입니다.
- android:lines : 처음부터 여러 줄 입력 크기로 나오게 하는 속성입니다. 화면에 보이는 크기만 고정돼 것이며 그 안에서 스크롤되어 여러 줄을 입력할 수 있습니다.
- android:maxLines : 처음에는 한 줄 크기로 출력, 엔터를 눌렀을 때 최대 몇 줄까지 늘어날 것인지를 정할 수 있습니다. 이것 또한 lines와 마찬가지로 스크롤되어 여러 줄을 입력할 수 있습니다.
- android:inputType : EditText에 글을 입력할 때 올라오는 키보드를 지정하는 속성입니다.
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone"/>
속성명 | 설명 |
none | 입력 유형을 지정하지 않은 상태, 모든 문자 입력 가능하며 줄 바꿈 가능 |
text | 문자열 한 줄 입력 |
textCapCharacter | 대문자 입력 모드 |
textCapWords | 각 단어의 첫 글자 입력 시 키보드가 자동으로 대문자 입력 모드 |
textCapSentences | 각 문단의 첫 글자 입력 시 키보드가 자동으로 대문자 입력 모드 |
textMultiLine | 여러 줄 입력 가능 |
textNoSuggestions | 단어 입력 시 키보드의 추천 단어를 보여 주지 않음 |
textUri | URL 입력 모드 |
textEmailAddress | 이메일 주소 입력 모드 |
textPassword | 비밀번호 입력 모드로 입력한 문자를 점으로 표시. 키보드는 영문자와 숫자, 특수 키만 표시 |
textVisiblePassword | textPassword와 같으며 입력한 문자 표시 |
number | 숫자 입력 모드 |
numberSigned | number와 같으며 부호 키인 마이너스(-) 입력 가능 |
numberDecimal | number와 같으며 수소점 입력 가능 |
numberPassword | 숫자 키만 입력 가능. 입력한 문자는 점으로 표시 |
phone | 전화번호 입력 모드 |