[안드로이드/데이터입출력] 코드를 이용해 View 객체 생성

2023. 4. 29. 00:25· Android
목차
  1. LayoutParam
반응형
  • 코드를 통해 View 객체를 생성  ->  layout에 추가 
  • View 객체 생성시 생성자에 Context() 객체 설정
    • Context : 어떠한 작업을 하기 위한 정보를 갖고 있는 객체를 통칭  Ex) 그래픽작업 -> 해당 디바이스가 지원하는 색상, 가로세로길이, bit 정보 등 다양한 정보 필요함. 이때 이런 정보를 담고 있는 객체를 Graphic Context 라 부를 수 있음
    • 안드 개발시 Context를 구분할 필요는 없고 지정만 잘 해주면 됨
  • Activity가 Context를 상속받고 있기 때문에 this 를 넣어주면 되고, 그 외에는 Context를 구하는 다양한 메서드를 통해 설정

 

LayoutParam

  • View가 배치될 때 필요한 공통 속성을 설정할 수 있는 객체
  • 가로, 세로 길이 설정 필요 
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater) // 뷰바인딩 객체
    val view = binding.root //뷰바인딩을 통해 레이아웃과 뷰가 결합 -> .root 를 통해 View 객체만를 뽑아내는(?)
    setContentView(view)

    // 가로 세로 길이 지정 (어디 배치할지에 따라 맞는 LinearLayout 고르면 됨) *어떤 버전에서는 이거 안 하면 오류남
    val param1 = LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.MATCH_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT
    )

    val btn1 = Button(this)
    btn1.text = "추가된 버튼입니다."
    btn1.layoutParams = param1

    val img1 = ImageView(this)
    img1.layoutParams = param1
    img1.setImageResource(R.drawable.img6)

    btn1.setOnClickListener {
        binding.textView.text = "추가된 버튼을 눌렀스빈다."
    }


    binding.button.setOnClickListener {
        binding.container.addView(btn1) //추가
        binding.container.addView(img1)

    }

    binding.button2.setOnClickListener {
        binding.container.removeView(btn1) //제거
        binding.container.removeView(img1)
    }

}

반응형

'Android' 카테고리의 다른 글

[안드로이드/데이터 관리] 파일 입출력  (4) 2023.04.29
[안드로이드/데이터 관리] Application Class  (0) 2023.04.29
[안드로이드/데이터입출력] XML을 이용해 View 객체 생성  (0) 2023.04.29
[안드로이드/Error] ViewModelProvider.Factory 구현하라고 뜨는 오류  (0) 2023.04.28
[안드로이드/AppBar] DrawerLayout 와 Drawer Navigation Activity  (0) 2023.04.28
  1. LayoutParam
'Android' 카테고리의 다른 글
  • [안드로이드/데이터 관리] 파일 입출력
  • [안드로이드/데이터 관리] Application Class
  • [안드로이드/데이터입출력] XML을 이용해 View 객체 생성
  • [안드로이드/Error] ViewModelProvider.Factory 구현하라고 뜨는 오류
gangmini
gangmini
gangmini
게으른J 의 테크로그
gangmini
전체
오늘
어제
글쓰기방명록관리자
  • 분류 전체보기 (127)
    • 인공지능(AI) & 데이터 분석 (5)
    • Android (91)
      • Coroutine (3)
      • Compose (0)
      • 안드로이드 CS (0)
    • Kotlin (3)
    • Data Structure (0)
    • 알고리즘 (20)
      • 알고리즘 이론 (11)
      • 백준(BOJ) 문제 풀이 (9)
    • Build Tool (2)
    • Git (2)
    • 일본어 (0)
    • 기타(취준, 활동) (0)


인기 글



최근 댓글



최근 글

hELLO · Designed By 정상우.v4.2.2
gangmini
[안드로이드/데이터입출력] 코드를 이용해 View 객체 생성
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.