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
반응형
'Android > 공부' 카테고리의 다른 글
ViewModel에 대해서 알아보자 (0) | 2021.12.05 |
---|---|
커스텀 보틈시트(BottomSheet) 만들기 (0) | 2021.12.04 |
안드로이드 스크린샷 감지 (3) | 2021.12.02 |
에디트텍스트(EditText) 관련 짜투리 지식 1 (실시간으로 쉼표 표시하기, 커서 커스텀, 동그란 커서 색상 변경) (0) | 2021.12.01 |
오픈소스 라이센스 명시 (0) | 2021.11.26 |