Android
[Android/Kotlin] Toast 메시지 위치 설정하기
NaDuck
2022. 7. 24. 03:49
위치 설정
위/아래
- Gravity.TOP
- Gravity.BOTTOM
왼쪽/오른쪽
- Gravity.LEFT
- Gravity.RIGHT
또는
- Gravity.START
- Gravity.END
중앙
- Gravity.CENTER_VERTICAL (수직 가운데)
- Gravity.CENTER_HORIZONTAL (수평 가운데)
예시
1. 하단 우측에 Toast 메시지 띄우기
val toast = Toast.makeText(c, message, Toast.LENGTH_SHORT)
# 뒤의 2개의 파라미터는 각각 x_offset, y_offset
toast.setGravity(Gravity.BOTTOM or Gravity.RIGHT, 0, 0)
toast.show()
2. 중앙 좌측에 Toast 메시지 띄우기
val toast = Toast.makeText(c, message, Toast.LENGTH_SHORT)
# ex) 중앙 좌측, 상단 중앙과 같이 "중앙"이 들어갈 경우
# Gravity.CENTER를 생략가능하다.
# 즉 아래의 코드는 이와 같다. => toast.setGravity(Gravity.LEFT, 0, 0)
toast.setGravity(Gravity.CENTER or Gravity.LEFT, 0, 0)
toast.show()
하면서...
- 대부분의 경우 default gravity(하단 중앙)를 사용할 것 같지만, 특수한 경우에 이러한 설정을 알아두면 좋을 것 같다.
- 뒤의 2개의 파라미터(x_offset, y_offset)로 메시지의 위치를 정교하게 설정할 수 있다. 하지만 기기에 따라 차이가 있을 것 같아서 웬만해서 안쓰는 게 좋을 것 같다.
- 정중앙 위치설정은 "Gravity.CENTER"로 가능. 이는 곧
"Gravity.CENTER_VERTICAL or Gravity.CENTER_HORIZONTAL"와 동일하다. - 아직 START&END / RIGHT&LEFT의 차이점은 알아내지 못했다. 더 깊이 파고든다면 이 부분도 함께 공부해야겠다.
- 이것저것 실험하다가 "Gravity.START or Gravity.END"(또는 LEFT or RIGHT)로 설정하면 Toast 메시지의 길이가 화면 가로 너비 전체를 차지하더라.
- 반대로 "Gravity.TOP or Gravity.BOTTOM"으로 설정하면 Toast 메시지의 길이가 세로 너비 전체를 차지(
하지만 안드로이드 개발 한평생 이건 쓰지 않을 것 같다)