안드로이드 세계

[Android] SnackBar 위치 조절 본문

안드로이드(Android)/코틀린(Kotlin)

[Android] SnackBar 위치 조절

리안94 2022. 5. 17. 18:50

스낵바를 이용하다 보면 버튼이 화면 제일 하단에 위치하는데, 스낵바도 아래에 위치하게 되면 겹치게 된다.

 

예시 화면

 

 

위의 예시 화면처럼 스낵바가 출력되게 된다면 아래에 있는 버튼은 누를 수가 없다.

따라서 버튼 위에 나타나게 하고 싶다면 아래와 같이 작성하면 된다.

 

예시 화면

 

 

예시 코드

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

        findViewById<Button>(R.id.btn_short).setOnClickListener {
            createSnackBar("message_short", Snackbar.LENGTH_SHORT).apply{
                anchorView = findViewById(R.id.btn_indefinite) // 특정뷰 위로 스낵바 이동
            }.show()
        }

        findViewById<Button>(R.id.btn_long).setOnClickListener {
            createSnackBar("message_long", Snackbar.LENGTH_LONG).apply{
                anchorView = findViewById(R.id.btn_indefinite) // 특정뷰 위로 스낵바 이동
            }.show()
        }
    }

    private fun createSnackBar(message: String, duration: Int): Snackbar {
        return Snackbar.make(findViewById(R.id.root_const), message, duration)
    }
}

 

Comments