액티비티 화면을 출력하는 방법
setContentView(R.layout.activity_main)
뷰를 코드에서 사용하는 방법
findViewById
- 레이아웃 파일(ex. activity_main.xml)에서 해당 객체에 id를 설정한다.
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="hello"
android:textSize="17dp"/>
- 액티비티 파일(ex. MainActivity.kt)에 findViewById 함수를 사용하여 객체를 가져온다.
val textView: TextView = findViewById(R.id.text1)
viewBinding
- build.gradle에서 viewBinding을 true로 설정한다.
android{
...
buildFeatures {
viewBinding = true
}
}
- 레이아웃 파일(ex. activity_main.xml)에서 해당 객체에 id를 설정한다.
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="hello"
android:textSize="17dp"/>
- 액티비티 파일(ex. MainActivity.kt)에 binding 객체를 가져와 사용한다. 이때, ActivityMainBinding은 activity_main.xml 파일의 이름에서 변형된 것이다.
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.text1.visibility = View.INVISIBLE
속성 정리
속성 | 설명 | 예시 | 참고 |
---|---|---|---|
id | id 설정 | @+id/text1 | |
layout_width | 가로 크기 지정 | ||
layout_height | 세로 크기 지정 | ||
padding | 테두리 패딩 간격 설정 | ||
paddingLeft | 왼쪽 패딩 간격 설정 | ||
paddingRight | 오른쪽 패딩 간격 설정 | ||
paddingTop | 위쪽 패딩 간격 설정 | ||
paddingBottom | 아래쪽 패딩 간격 설정 | ||
layout_marin | 테두리 마진 간격 설정 | ||
layout_marinLeft | 왼쪽 마진 간격 설정 | ||
layout_marinRight | 오른쪽 마진 간격 설정 | ||
layout_marinTop | 위쪽 마진 간격 설정 | ||
layout_marinBottom | 아래쪽 마진 간격 설정 | ||
visibility | 표시 여부 설정 | visible, invisible, gone | |
text | 출력할 문자열 설정 | ||
textColor | 문자열 색상 지정 | ||
textSize | 문자열 크기 설정 | ||
textStyle | 문자열 스타일 지정 | bold, italic, normal | |
autoLink | 문자열에 링크 삽입 | web|phone|email | |
maxLines | 문자열의 최대 행 설정 | ||
singleLine | 문자열을 한 줄로 설정 | true, false | |
ellipsize | 줄임표(...) 나타남 | start, middle, end | start와 middle은 sigleleLine="true"로 설정 |
src | 출력할 이미지 설정 | @drawable/image1 | |
maxWidth | 출력할 이미지의 최대 가로 크기 지정 | adjustViewBounds="true" 로 설정 | |
maxHeight | 출력할 이미지의 최대 세로 크기 지정 | adjustViewBounds="true" 로 설정 | |
adjustViewBounds | 이미지가 잘리거나 변형되지 않게 조정 | true, false | |
lines | 문자열 행 수 설정 | ||
inputType | 키패드 설정 | none, text, ... |
출처: 강성윤, 「Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린」, 이지스퍼블리싱