이미지뷰 클릭 액티비티

쿵ㅇ양·2023년 10월 13일
0

Android

목록 보기
21/30
post-thumbnail

이미지뷰 클릭 -> 토스트 메세지 띄우기

메인 액티비티에서 이미지뷰와 연결시켜주기

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //1,화면이 클릭되었다는 것을 프로그램이 알아야함
        val image1 = findViewById<ImageView>(R.id.bts_image_1)
        image1.setOnClickListener {

            Toast.makeText(this, "1번 클릭완료", Toast.LENGTH_SHORT).show()

        }

    }

}
  1. onCreate()
    -> 액티비티가 처음 생성될 때 호출되는 함수(필수적으로 구현!)
    -> Activity 클래스를 상속받으면 반드시 onCreate() 함수를 오버 라이딩
    -> activity가 만들어질 때 단 한번만 호출 된다.
    -> activity를 만들 때 단 한번만 하면 되는 작업들은 여기에서 해준다.'

  2. setContentView()
    -> 원하는 레이아웃의 리소스id를 전달하면 해당 레이아웃이 출력
    -> R.layout.activity_main
    -> R :res 폴더 / layout : R의 내부 클래스 / activity_main : 레이아웃의 이름

  3. val 변수이름 = findViewById<>()
    ->리소스 id를 통해서 레이아웃에 있는 뷰 객체들 중 일치하는 뷰를 가져오는 메소드
    -> 그 전에 setContentView와 같은 메소드로 xml에 있는 리소스들을 지정한 속성에 맞게 인스턴스를 생성하여 메모리에 로드하는 인플레이션 과정이 필요
    -> <> : 어떤 종류의 뷰?
    -> () : 뷰의 id

  4. setOnClickListener{}
    -> 버튼 클릭과 같이 이벤트 발생했을때만 호출
    -> 변수id.으로 어느 변수에 설정해줄지!
    -> {클릭했을때 어떤 이벤트 생성?}

  5. Toast.makeText().show()
    -> 용자에게 짧은 메시지 형식으로 정보를 전달하는 팝업
    -> 메시지를 표시할 공간만 차지하고 시간이 지나면 자동으로 사라지는 메시지

    -> 첫번째 인자=context :
    애플리케이션에 대한 전역 정보를 제공하는 인터페이스
    애플리케이션의 실행 환경에 대한 정보를 포함하며, 애플리케이션의 리소스 및 클래스에 대한 접근을 제공
    안드로이드 시스템 서비스와 애플리케이션 간의 상호작용을 위한 핵심 개념

    -> 두번째 인자 : 사용자에게 보여줄 문자열
    -> 세번째 인자 : Toast 메시지를 화면에 띄우는 시간

화면 클릭 -> 클릭된 화면 크게 보여줌(화면전환)

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //1,화면이 클릭되었다는 것을 프로그램이 알아야함
        val image1 = findViewById<ImageView>(R.id.bts_image_1)
        image1.setOnClickListener {

            Toast.makeText(this, "1번 클릭완료", Toast.LENGTH_SHORT).show()

            //2, 화면이 클릭되면 다음 화면으로 넘어가서 사진을 크게 보여줌
            var intent = Intent(this, Bts1Activity::class.java)
            startActivity(intent)
        }

    }

}
  1. Bts1Activity 이름을 가진 액티비티 파일이랑 xml 파일 하나 더 만들기
  2. var 변수이름 = Intent(context, class)
    -> 하나의 액티비티에서 다른 액티비티로 화면 전환!!!
    -> 인텐트 선언 및 정의
    -> 명시적 인텐트 : 앱 내의 특정 액티비티나 서비스 등 특정한 앱 구성 오소 시작하는데 사용
    -> 명시적 인텐트를 생성하려면 intent 객체에 대한 구성 요소 이름 정의!
  3. startActivity(intent)
    -> 액티비티 이동
MainActivityBts1Activity
profile
개발을 공부하고 있는 대학생

0개의 댓글

관련 채용 정보