본문 바로가기
안드로이드/ActionBar

안드로이드 ActionBar Navigation

by 김어찐 2022. 6. 19.
728x90

ActionBar에 <- 아이콘을 배치하여 뒤로가기 기능을 구현할 수 있다.
아이콘을 표시한다고 해서 뒤로 가기 기능이 생기는 것은 아니기 때문에 직접 구현을 해야한다

메인 액티비티

package com.example.actionbarnavigation

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        button.setOnClickListener {
            val secondIntent = Intent(this,SecondActivity::class.java)
            startActivity(secondIntent)

        }
    }
}

세컨드 액티비티

package com.example.actionbarnavigation

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.MenuItem

class SecondActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)

        // HomeButton 메뉴을 활성화한다
        supportActionBar?.setHomeButtonEnabled(true)
        // HomeButton을 노출 시킨다.
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
        // HomeButton의 아이콘을 설정한다.
//        supportActionBar?.setHomeAsUpIndicator(R.mipmap.ic_launcher)
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            // 기본 안드로이드에서 변수 제공
            android.R.id.home -> {
                finish()
            }
        }
        return super.onOptionsItemSelected(item)
    }
}
728x90