📌참고자료
Toast | SnackBar | |
---|---|---|
사용 용도 | 간단한 메세지 노출 | 간단한 메세지 + 하나의 Action 포함 가능 |
노출 영역 | 디바이스 화면 위 | 현재 Activity/Fragment 위 |
화면 크기 변동 시 위치 변화 | 고정적 | 유동적 |
private fun makeSnackBar(view: View){
var snack = Snackbar.make(view,"스낵바 입니다.",Snackbar.LENGTH_LONG)
var layoutParam = snack.view.layoutParams as FrameLayout.LayoutParams
snack.view.layoutParams = layoutParam
snack.show()
}
private fun showToast(){
Toast.makeText(this, "토스트 입니다.",Toast.LENGTH_SHORT).show()
}
📌참고자료
SnackBar은 BaseTransientBottomBar 추상 클래스를 상속한다
setAnchorView(int anchorViewId)
또는 setAnchorView(View anchorView)
함수를 통해 Anchor View를 지정해주면, 이 Anchor View 위에 표시됨(1) SnackBar 표시 함수 Fragment 확장 함수로 정의
fun Fragment.showSnackBar(message: Int, length: Int = Snackbar.LENGTH_SHORT, anchorView: View) {
Snackbar
.make(requireView(), message, length)
.apply{ this.anchorView = anchorView }
.show()
}
showSnackBar(
message = R.string.place_list_more_tourist_attraction_no_result,
anchorView = requireActivity().findViewById(R.id.fab_bottom_random)
)