본문 바로가기
깡샘 코틀린

06-3 기본적인 뷰 살펴보기

by 농농씨 2023. 6. 17.

티스토리 단축키 확인 ctrl + '/' 키 

코드블록 단축키 alt+ctrl+','

 

 

텍스트뷰

TextView는 문자열을 화면에 출력하는 뷰이다. 그중에서도 자주이용하는 속성을 알아보자

 

android:text 속성

TextView에 출력할 문자열을 지정함. android:text="helloworld"처럼 문자열을 대입해도 되고 android:text="@string/hello"처럼 문자열 리소스를 지정해도 된다.

android:textColor 속성

문자열 색상 지정함. android:textColor="#FF0000"처럼 값은 16진수 RGB형식을 사용한다.

android:textSize 속성 

문자열 크기 지정함. android:textSize="20sp"처럼 값은 숫자를 사용하며 단위는 생략할 수 없다. 단위는 px, dp, sp 등을 사용한다.

android:textStyle 속성

문자열 스타일 지정함. android:textStyle="bold"처럼 이용하며 값은 bold, italic, normal 중에서 선택한다.

 

android:autoLink 속성

autoLink 속성은 TextView에 출력할 문자열을 분석해 특정 형태의 문자열에 자동 링크를 추가해준다. 만약 android:autoLink="web"으로 설정하면 문자열에 웹 주소가 포함됐을 때 해당 문자열을 링크로 표시한다. 사용자가 그 링크 클릭하면 웹 브라우저로 연결된다. autoLink 속성값으로는 web, phone, email 등을 사용할 수 있으며 여러 개를 함께 설정하려면 |기호로 연결한다.

 

android:maxLines 속성

TextView에 문자열을 출력할 때 긴 문자열은 자동으로 줄바꿈을 한다. 그런데 때로는 문자열이 특정 줄까지만 나오도록 해야 할 때가 있다. android:maxLines="3"으로 설정하면 문자열이 3행까지만 출력된다.

 

android:ellipsize 속성

maxLines 속성을 이용할 때 출력되지 않은 문자열이 더 있다는 것을 표시하려면 줄임표(...)를 넣는다. 이때 ellipsize 속성을 지정한다. 속성값으로는 end, middle, start 등을 설정한다. end로 설정하면 문자열 뒤에 줄임표가 추가된다. start와 middle은 줄임표가 각각 앞부분, 중간 부분에 추가되는데 end와 달리 singleLine="true" 속성으로 문자열을 한 줄로 출력했을 때만 적용된다.(?)

 

이미지 뷰

ImageView는 이미지를 화면에 출력하는 뷰이다.

 

android:src 속성

ImageView에 출력할 이미지를 설정한다. ImageView에는 리소스 이미지, 파일 이미지, 네트워크 이미지 등을 출력할 수 있다. 리소스 이미지는 src속성으로 android:src="@drawable/image3"처럼 설정한다.

 

android:maxWidth, android:maxHeight, android:adjustViewBounds 속성

ImageView가 출력하는 이미지의 최대크기를 지정한다. 크기는 너비와 높이 속성으로 설정하지만 뷰에 넣을 이미지 크기가 다양하다면 이미지와 뷰의 크기가 맞지 않는 상황이 발생할 수 있따. 또 이미지가 클 때 너비와 높이의 속성값을 wrap_content로 지정하면 뷰의 크기가 지나치게 커질 수 있다.

 

ex. 이미지 표시 예시

이미지의 뷰가 너무 크게 출력됐을때는 다른 뷰와 함께 화면을 구성하기 힘들 수 있다. 이럴 떄는 maxWidth, maxHeight 속성을 이용해 뷰를 출력할 최대 크기를 지정해 줄 수 있다. 이 속성들은 android:adjustViewBounds 속성과 함께 사용해야하며, 이 속성을 true로 설정하면 이미지의 가로세로 길이와 비례해 뷰의 크기를 맞춘다.

android:adjustViewBounds="true"

 

버튼, 체크박스, 라디오 버튼

Button : 사용자 이벤트 처리함

CheckBox : 다중 선택

RadioButton : 단일 선택

체크박스는 한 화면에 여러개가 나오더라도 다중선택을 제공하므로 서로 영향을 미치지 않음. 즉, 하나의 체크박스가 선택되었어도 다른 체크박스 선택 가능.

그런데 라디오 버튼은 화면에 여러개가 나오면 하나만 선택할 수 있는 단일 선택이므로 여러 개를 묶어서 처리해아 함. 따라서 라디오 버튼은 RadioGroup과 함께 사용하며 그룹으로 묶은 라디오 버튼 중 하나만 선택할 수 있다.

 

 

에디트 텍스트

EditText는 사용자가 글을 입력할 수 있는 뷰이다.

 

android:lines, android:maxLines 속성

EditText는 한 줄 입력 크기로 출력되었다가 사용자가 키보드에서 엔터를 누르면 아래로 늘어나서 여러 줄 입력 크기가 된다. 그런데 처음부터 여러 줄 입력 크기로 android:lines 속성을 이용해서 android:lies="3"처럼 설정하면 처음부터 3줄입력크기로 나오며 더는 늘어나지 않는다. 물론 화면에 보이는 크기가 3줄로 고정된 것이며 그 안에서 스크롤되어 여러줄 입력할 수 있다.(시작부터 여러줄)

maxLines 속성은 maxLines="3"으로 지정하면 처음에는 한줄입력 크기로 출력되고, 사용자가 키보드에서 엔터를 누르면 3줄까지 늘어나며 더늘어나지 않는다. 물론 그 안에서 스크롤 되어 여러 줄을 입력할 수 있다.(시작은 한줄)

(둘다 그 내부는 무한 여러줄 가능한듯)

 

android:inputType 속성

EditText에 글을 입력할 때 올라오는 키보드를 지정하는 속성이다.

예를 들어  키보드로 한 줄 입력을 강제하고 싶거나 키보드를 전화번호 입력 모드로 지정할고 싶을 때 사용한다. inputType 속성을 설정하지 않으면 기본인 문자 입력 모드로 키보드가 올라오며 여러 줄을 입력할 수 있다.

또는 android:inputType="Phone"으로 설정하면 전화번호 입력 모드로 올라오며 한 줄 입력으로 강제된다.

 

 

'깡샘 코틀린' 카테고리의 다른 글

07-1 선형으로 배치 - LinearLayout  (0) 2023.06.19
06-4 뷰 바인딩  (2) 2023.06.17
06-2 뷰 클래스  (0) 2023.06.15
06-1 화면을 구성하는 방법  (2) 2023.06.15
05-2 널 안정성  (0) 2023.06.15