728x90
코드를 통해 View 객체를 생성하여 layout에 추가할 수 있다.
View 객체를 생성할 때는 생성자에 Context 객체를 설정해줘야 한다.
Context는 어떠한 작업을 하기 위한 정보를 가지고 있는 객체를 통칭한다.
안드로이드에서는 Activity가 Context를 상속받고 있기 때문에 this를 넣어주면 되고 그 외에는 Context를 구하는 다양한 메서드를 통해 설정한다.
package com.example.codeview
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView
import android.widget.LinearLayout
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val param1 = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
)
val btn1 = Button(this)
btn1.text = "추가된 버튼입니다."
btn1.layoutParams = param1
btn1.setOnClickListener {
textView.text = "추가된 버튼을 눌렀습니다"
}
val img1 = ImageView(this)
img1.layoutParams = param1
img1.setImageResource(R.mipmap.ic_launcher)
button.setOnClickListener {
container.addView(btn1)
container.addView(img1)
}
button2.setOnClickListener {
container.removeView(btn1)
container.removeView(img1)
}
}
}
728x90
'안드로이드 > 데이터 입출력' 카테고리의 다른 글
안드로이드 sqlite 1 (0) | 2022.06.23 |
---|---|
안드로이드 assets (0) | 2022.06.22 |
안드로이드 파일 입출력 (0) | 2022.06.21 |
안드로이드 Application Class (0) | 2022.06.21 |
안드로이드 xml View (0) | 2022.06.20 |