이번 시간에는 레이아웃에 텍스트뷰를 동적으로 생성하는 방법을 알아보겠습니다.
build.gradle(Module:프로젝트명:app)
android 괄호 안에 아래 코드를 넣어주시면 됩니다.
findViewById 없이 뷰 객체 접근하기 위한 설정
buildFeatures{
viewBinding = true
}
- 설명 -
1. 텍스트뷰 보여주는 Layout
2. 텍스트뷰 생성하는 Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<!-- 텍스트뷰 보여줄 레이아웃 -->
<LinearLayout
android:id="@+id/listLayout"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#ACE6AE"
android:orientation="horizontal"/>
<!-- 텍스트뷰 생성 버튼-->
<Button
android:id="@+id/createBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:text="텍스트뷰 생성"
android:textSize="20sp"/>
</LinearLayout>
- 설명 -
1. val textView: TextView = TextView(applicationContext)
텍스트뷰 생성
2. textView.text = "텍스트 생성"
텍스트뷰 글자
3. textView.textSize = 12f
텍스트뷰 글자 크기
4. textView.setTypeface(null, Typeface.BOLD)
텍스트뷰 글자 타입
5. textView.id = 0
텍스트뷰 아이디
6. LinearLayout.LayoutParams(width, height)
텍스트뷰 레이아웃 설정
7. textView.layoutParams = param
텍스트뷰 레이아웃 적용
8. textView.setBackgroundColor(Color.BLACK)
텍스트뷰 배경 색상
9. textView.setTextColor(Color.WHITE)
텍스트뷰 텍스트 색상
10. binding.listLayout.addView(textView)
텍스트뷰 레이아웃에 적용
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
//텍스트뷰 생성 버튼
binding.createBtn.setOnClickListener {
//텍스트뷰 생성
createTextView()
}
}//onCreate
/**
* 텍스트뷰 생성
*/
private fun createTextView(){
//1. 텍스트뷰 생성
val textView: TextView = TextView(applicationContext)
//2. 텍스트뷰 글자
textView.text = "텍스트 생성"
//3. 텍스트뷰 글자 크기
textView.textSize = 12f
//4. 텍스트뷰 글자 타입
textView.setTypeface(null, Typeface.BOLD)
//5. 텍스트뷰 ID
textView.id = 0
//6. 레이아웃
val param: LinearLayout.LayoutParams = LinearLayout
.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)
param.leftMargin = 30
//7. 레이아웃 적용
textView.layoutParams = param
//8. 텍스트뷰 배경 색상
textView.setBackgroundColor(Color.BLACK)
//9. 텍스트뷰 텍스트 색상
textView.setTextColor(Color.WHITE)
//10. 레이아웃에 텍스트뷰 추가
binding.listLayout.addView(textView)
}
}
2022.10.11 - [안드로이드] - [안드로이드 코틀린] 갤러리에서 선택한 사진 이미지 뷰(ImageView)에 보여주는 방법
2022.10.06 - [안드로이드] - [안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part1 - 뷰 바인딩 및 화면 구성
2022.10.04 - [안드로이드] - [안드로이드 코틀린] CountDownTimer 타이머 쉽게 만드는 방법 part1 뷰 바인딩 및 화면 구성
[안드로이드 코틀린] 채팅앱 만드는 방법 part2 - 회원가입 액티비티 (2) | 2022.10.19 |
---|---|
[안드로이드 코틀린] 채팅앱 만드는 방법 part1 - 로그인 액티비티 (2) | 2022.10.18 |
[안드로이드 코틀린] 갤러리에서 다중 선택 사진 화면 전환 하는 방법 (0) | 2022.10.13 |
[안드로이드 코틀린] 갤러리에서 다중 선택 사진 RecycelrView 에 보여주는 방법 (0) | 2022.10.12 |
[안드로이드 코틀린] 갤러리에서 선택한 사진 이미지뷰(ImageView)에 보여주는 방법 (1) | 2022.10.11 |
댓글 영역