내일배움캠프 2일차(수정)

김재현·2024년 3월 7일

오늘은 화면을 넘어가게 기능을 구현하고 frameLayout을 통해 이미지 위에 텍스트가 올라가게 하는 것을 알았다.

먼저 뷰바인딩을 사용하기 위하여 build.gradle.kts 에서

android {
    // ...
    viewBinding {
        enable = true
    }
}

설정을 해주고 Activity에서

class MaingActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding // binding 변수 생성
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater) // inflate로 초기화 한다
    setContentView(binding.root) // binding.root 뷰를 화면에 표시하도록 설정

출처(https://velog.io/@pnlkc/ViewBinding%EB%B7%B0%EB%B0%94%EC%9D%B8%EB%94%A9-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0)

그 뒤에 사용할 때는

binding.retrunBtn.setOnClickListener{
    val intent = Intent(this, SubActivity::class.java)
    startActivity(intent)
}

이렇게 returnBtn을 눌러서 지금 화면(MainActivity)에서 SubActivity로 넘어가는 버튼을 활성화 시킬 수 있다.

그 다음 이미지 위에 TextView를 올리고 싶어서 알아본 Layout 위에 올리는 방법이다.

<FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        app:layout_constraintBottom_toTopOf="@+id/imageButton2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">


        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="match_parent"
            android:layout_height="25dp"
            app:srcCompat="@drawable/bar"
            tools:layout_editor_absoluteX="0dp"
            tools:layout_editor_absoluteY="0dp" />

        <TextView
            android:id="@+id/teamName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="5dp"
            android:text="팀 소개"
            android:textColor="@color/white"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.046"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"

</FrameLayout>

이미지 뷰를 먼저 작성하고 텍스트 뷰를 작성하니

다음과 같이 검은색 바 이미지 위에 TextView를 올릴 수 있었다.

오류가 날것 같긴 해서 내일 더 수정해 봐야겠다.

0개의 댓글