Activity에서 커스텀 AppBar 적용

소정·2023년 3월 29일
0

Kotlin

목록 보기
10/27

setSupportActionBar(layout에서 Appbar에 붙여준 id를 쓴다)

근데 내 경우에는 앱바를 include해서 바인딩이 안됨

include한 레이아웃은 찾아올 수 없다고 한다 따로 또 바인딩을 해주던지
findViewById를 쓴다

package com.jscompany.neerbyto.trede

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Menu
import com.jscompany.neerbyto.R
import com.jscompany.neerbyto.databinding.ActivityTredeDetailBinding

class TredeDetailActivity : AppCompatActivity() {

    val binding:ActivityTredeDetailBinding by lazy { ActivityTredeDetailBinding.inflate(layoutInflater) }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)

        //커스텀 액션바 등록
        setSupportActionBar(findViewById(R.id.toolbar)) //include 한 레이아웃은 바인딩 안됨
        supportActionBar!!.setDisplayHomeAsUpEnabled(true) //왼쪽 뒤로가기 버튼
        supportActionBar!!.setDisplayShowTitleEnabled(false) //타이틀 안보이게 하는 속성
        supportActionBar!!.setTitle(R.string.sign_up) // 타이틀 재설정
        

        //닉네임 layout누르면 프로필 화면으로 이동



    }

    //옵션 메뉴 만드는 콜백
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.option_trede_detail, menu)

        return super.onCreateOptionsMenu(menu)
    }
    
    override fun onOptionsItemSelected(item: MenuItem): Boolean {

        when (item.itemId) {
            android.R.id.home -> { //뒤로가기 버튼 활성화
                finish()
                return true
            }

        }

        return super.onOptionsItemSelected(item)
    }
}
profile
보조기억장치

0개의 댓글