본문 바로가기

FrontEnd/Android 기초

[Android] TextView /PlainText(EditText) Button의 속성

반응형

res > layout > activity_main.xml

 

기본적 화면에서 보여지는 부분을 activity_main에서 작업한다.

 

위잿 사용방법:

좌측의 Palette에서 사용하고자 하는 위젯을 화면에 드래그해서 사용한다.

좌측의 Componen Tree는 현재 내가 어떤 위잿을 사용하고 있는지/위잿 구조를 볼 수 있다.

편집 방법은 기본적으로 우측에 있는 Attributes(속성)이나 code에서 다양한 옵션을 설정한다.

 

TextView /Button의 속성들

text, textColor, background, layout_margin,visibility, padding, gravity 등

-> 코드 작성할 때 기본적으로 ctrl+space 누르면, 모든 선택지가 나온다.

 

textSize: 텍스트 크기 변경

단위: sp

관련 함수: setTextSize()

xml 코드

android:textSize="20dp"

 

textColor: 텍스트 색상 변경

컬러 값 지정: #aarrggbb, #rrggbb 등의 형식

관련 함수: setTextColor()

xml 코드

android:textColor="#FF0000"

 

textStyle: 텍스트 스타일종류 설정

normal, bold,italic등 사용, ‘|’ 기호를 이용해 여러 속성 사용

xml 코드

android:textStyle="bold|italic"

 

visibility: 텍스트 가시성(可视性) 설정

Visible = 화면에 보이는 상태 

Invisible = 화면에 보이진 않지만, 레이아웃에 자리를 차지하고 있는 상태

Gone = 완전히 숨겨진 상태

xml 코드

android:visibility="gone"

-> gone은 완전히 숨겨져있지만, 코드에서는 작성할 수 있다. 

-> 숨겨놨다가, 유저가 어떤 버튼을 누르면 나타나는 기능 구현일 때 사용. 

 

gravity: 텍스트정렬 설정

top: Text 를 위쪽으로 정렬.

bottom: Text 를 아래쪽으로 정렬.

left: Text 를 왼쪽으로 정렬.

right: Text 를 오른쪽으로 정렬.

start: Text 를 시작 위치에 정렬.

end: Text 를 끝 위치에 정렬.

center_horizontal: Text 를 가로 중앙에 위치.

center_vertical: Text 를 세로 중앙에 위치.

center: Text 를 정중앙에 위치.

xml 코드

android:gravity="center_vertical|end"

 

backgroundtint: 버튼 텍스트  배경 설정

컬러 값 지정: #aarrggbb, #rrggbb 등의 형식

xml 코드

android:backgroundTint="#3F51B5"

 

layout_margin: 텍스트 바깥쪽 여백 설정

marigin/marginTop/marginBotton/marginLeft/marginRight으로 전체 및 각 네 방향에 값을 줄 수 있다. 

xml 코드

android:layout_marginLeft="20dp"
android:layout_marginTop="100dp"
android:layout_marginRight="20dp"

-> text view 자체를 layout이라고 한다.

 

padding: 텍스트 안쪽 여백 설정

padding/paddingTop/paddingBotton/paddingLeft/paddingRight으로 전체 및 각 네 방향에 값을 줄 수 있다. 

xml 코드

android:padding="20dp"

 

marin과 padding 차이

 

 

작업코드 예:

  <TextView
       android:id="@+id/txtTitle"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginLeft="20dp"
       android:layout_marginTop="100dp"
       android:layout_marginRight="20dp"
       android:background="#006EC1"
       android:gravity="center_vertical|end"
       android:paddingRight="20dp"
       android:text="Hello My App!!"
       android:textColor="#FFFFFF"
       android:textSize="36sp"
       android:visibility="gone"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toTopOf="parent" />

   <Button
       android:id="@+id/button"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginTop="56dp"
       android:backgroundTint="#3F51B5"
       android:text="타이틀 보이기!"
       android:textSize="30sp"
       android:padding="20dp"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintHorizontal_bias="0.498"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

 

 


 

 

Plain Text(Edit Text) 

- 클릭시 직접 입력이 가능한 객체

 

Palette > Text> Plain Text

 

여기서 TextView와 다른 대표적인 속성: 입력하는 텍스트이므로, 입력 전에 어떤 입력값을 넣어야하는 지 알려주는 텍스트(hint)와 입력방식/입력후 보여지는 방식(inputType)등을 설정할 수 있다.

 

hint: 입력값/형식을 알려주면서, 사용자가 값을 입력할경우 가이드 글이 사라지게 함

text 입력

xml 코드

android:hint="Name"

 

inputType: 입력방법 설정

입력방법설정,

대표적으로, number, numberDecimal, text, textEmailAddress, textMultiLine, textPassword가 있다.

number: 숫자만 입력 가능, 

numberDecimal: 소수만 입력가능 및 소수점 표시 가능

text: 일반 텍스트 입력

textEmailAddress: 이메일 주소로 사용됨

textMultiLine: 텍스트 입력할 때, 한줄이 아니라, 여러줄로 나누어 입력함.

textPassword: 입력할 때, 암호화로 문자가 가려짐

xml 코드

android:inputType="textMultiLine|textPassword"

 

maxLines: 최대 입력줄 수 설정

xml 코드

android:maxLines="3"

 

ex) 

android:hint="Name"
android:inputType="number"

 

 

EditText는 유저가 입력한 걸 가져올 수 있어야한다. 

 

반응형