안드로이드/ActionBar

안드로이드 ActionBar 커스터마이징

김어찐 2022. 6. 19. 23:57
728x90

안드로이드에서 ActionBar는 개발자가 자유롭게 구성할 수도 있다.

 

ActionBar를 커스터마이징 하기 위해서는 기존의 액션바를 사라지게 해야 한다. (구버전 안전성을 위해 작성해주는게 좋음)

supportActionBar?.setDisplayShowCustomEnabled(true)

supportActionBar?.setDisplayHomeAsUpEnabled(false)

supportActionBar?.setDisplayShowTitleEnabled(false)

supportActionBar?.setDisplayShowHomeEnabled(false)

 

package com.example.actionbarcustomizing

import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.custom_actionbar.view.*

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

        // 구버전 안전성을 위해 설정하는게 좋음
        supportActionBar?.setDisplayShowCustomEnabled(true)
        supportActionBar?.setDisplayHomeAsUpEnabled(false)
        supportActionBar?.setDisplayShowTitleEnabled(false)
        supportActionBar?.setDisplayShowHomeEnabled(false)



        // layout을 통해 Viewe를 생성한다.
        val topBar = layoutInflater.inflate(R.layout.custom_actionbar,null)
        supportActionBar?.customView = topBar

        topBar.run {
            textView2.text = "커스텀 액션바"
            textView2.setTextColor(Color.WHITE)

            button.setOnClickListener {
                textView.text = "액션바의 버튼을 눌렀습니다."
            }
        }
    }
}

커스텀 액션바

728x90