본문 바로가기
Android/Concepts

기본적인 Widget 사용법 - TextView, Button, EditText, ImageView

by JuHy_ 2019. 7. 16.

TextView

TextView는 위젯들 중에서도 가장 기본적인 위젯으로 글자를 표현하기 위한 위젯이다.

따라서 이와 관련된 많은 속성들을 지정할 수 있다.

 

android:text="@string/text"
android:textSize="20sp"
android:textColor="@color/black"
android:textStyle="bold"

위와 같이 텍스트의 내용, 크기, 색깔, 스타일 등의 다양한 속성을 지정할 수 있다.

이 때 주의 할 점으로 글자의 크기는 dp가 아니라 sp로 지정하는 것이 바람직하다.

 

텍스트의 내용은 res/values에 있는 strings.xml에 설정을 해주는 것이 좋다.

그 이유는 하나의 앱으로 여러 개의 언어를 대응할 때 strings에 지정해주면 편하기 때문이다.

 

텍스트의 색깔 또한 res/values에 있는 colors.xml에 설정을 해주는 것이 좋다.

앱에서 한번 사용된 색은 다시 사용될 가능성이 높기 때문에 미리 값을 대응시켜 놓으면 수고를 줄일 수 있다.

 

 

 

Button

버튼은 기본적으로 사용자가 눌렀을 때 상호작용하기 위한 위젯이다.

 

android:onClick="onButtonClicked"
android:text="@string/button"
android:textSize="20sp"
android:textColor="@color/black"
android:textStyle="bold"
public void onButtonClicked(View v){
	//버튼을 눌렀을 때 실행할 코드
}

Button은 TextView를 상속받아 변형된 형태이기 때문에 똑같이 글자의 속성을 지정해줄 수 있다.

또한 가장 중요한 기능인 버튼을 눌렀을 때의 기능을 onClick에 함수 이름을 넣어 지정할 수 있다.

추가적으로 TextView와 다를 때 눌렀을 때의 모습이 바뀌는 효과가 있다.

 

 

 

EditText

EditText는 사용자가 글을 입력해야할 필요가 있을 때 사용한다.

 

android:ems="8"
android:inputType="text"
android:hint="@string/edittext"

EditText는 inputType이라는 속성이 있는데 이를 용도에 맞게 지정해주면 입력시 그에 적합한 키보드가 나타난다.

예를 들어 inputType을 phone로 지정하면 전화번호를 입력할 EditText가 되어 숫자키패드가 나타나게 된다.

 

그리고 text 속성으로 글자를 지정하면 사용자가 입력시 개발자가 설정한 text를 지워야 하는데

hint 속성으로 글자를 지정하면 실제 내용물은 채워지지 않고 글자를 나타내어 사용자에게 정보를 제공할 수 있다.

 

마지막으로 ems 속성은 EditText의 크기를 지정하는 속성인데 8로 설정하면 문자 8개 크기의 공간을 차지하게 된다.

 

 

 

ImageView

ImageView는 말 그대로 원하는 이미지를 띄우기 위한 위젯이다.

 

android:src="@drawable/ic_launcher_background"

이미지를 drawable 폴더에 추가한 후 ImageView에 해당 이미지의 이름을 src 속성에 지정해주면 된다.

이 때 src 대신 srcCompat을 사용할 수도 있는데 srcCompat은 벡터 이미지를 표현할 수 있다는 점이 다르다.

 

 

 

Reference

[부스트코스]안드로이드 프로그래밍

https://www.edwith.org/boostcourse-android