Android/공부
커스텀 스낵바, 커스텀 토스트 만들기
닉네임간편
2021. 12. 3. 13:28
1. 커스텀 스낵바 만들기
private fun showSnackBar(view: View, message: String, action: String?, clickListener : View.OnClickListener?) {
val snackbar = Snackbar.make(view, message, Snackbar.LENGTH_LONG)
.setTextColor(
ColorStateList.valueOf(
ContextCompat.getColor(this, R.color.white)))
.setActionTextColor(ColorStateList.valueOf(
ContextCompat.getColor(this, R.color.mackduck_yellow)))
snackbar.setBackgroundTintList(
ColorStateList.valueOf(
ContextCompat.getColor(this, R.color.box_gray)))
if (action != null) {
snackbar.setAction(action, clickListener)
}
snackbar.show()
}
1) view
스낵바가 표시될 view를 전달합니다.
2) message
스낵바에 표시될 메시지를 설정합니다.
3) action
스낵바에서 액션 부분에 해당하는 메시지를 설정합니다.
만일 액션이 없는 경우도 존재할 수 있으므로, ?를 통해 null 처리를 해줍니다.
4) clickListener
액션 부분을 눌렀을 때 특정 동작이 수행되도록 파라미터로 전달합니다.
이 경우도 마찬가지로 액션이 없는 경우가 있을 수 있으므로, ?를 통해 null 처리를 합니다.
2. 사용 방법
showSnackBar(binding.myCoordi, "사진을 가져오기 위해서는 저장소 권한이 필요합니다.", "권한 승인", clickListener)
다음과 같이 사용하면 아래처럼 화면에 표시됩니다.

3. 커스텀 토스트 메시지
fun showCustomToast(message: String) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
}
1) message
띄울 메시지를 설정합니다.
4. 사용 방법
showCustomToast("권한을 설정해야 기능을 사용할 수 있습니다.")
이렇게 하면 아래처럼 토스트 메시지가 띄워집니다.

728x90
반응형