메뉴 아이템에 android:icon
이거랑 app:showAsAction
이 값을 주면 액션바에 아이콘이 나타난다. 이 때 아이콘을 롱터치하면 토스트가 화면 아래쪽 가운데 정렬이 아닌, 아이콘 바로 아래에, 아이콘 가운데에서 왼쪽으로 뻗치는 정렬이 되서 나타난다.
그림으로 표현하면 아래처럼 보이겠지?
Toast
#1: 일반적인 상황 |
Toast
#2: 액션바의 노란 아이콘을 터치 |
이거를 액션바 아이콘 말고 다른 뷰를 눌러도 나오도록 메소드를 만듦.
private void Toast_ActionBar(View view, String string) {
int[] location = new int[2];
view.getLocationOnScreen(location);
Point windowSize = new Point();
getWindowManager().getDefaultDisplay().getSize(windowSize);
Toast t = Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT);
t.setGravity(
Gravity.TOP | Gravity.RIGHT,
windowSize.x - location[0] - view.getWidth() / 2,
location[1] + view.getHeight() / 2
);
t.show();
}
뷰의 절대 위치, 뷰의 크기, 그리고 스크린의 크기를 조합해서 토스트가 쀼려질 위치를 결정함.
이렇게 해서 롱터치 했을 때 나오는 설명은 바로 아래에 토스트로 나오게 만들고, 나머지 알림은 모두 스낵바로 바꿈.
끝.
'기록 #01: 컴퓨터' 카테고리의 다른 글
"JinH" 개인정보처리방침(privacy policy) (1) | 2017.02.04 |
---|---|
USB 메모리 용량이 줄어들었을 때 (0) | 2016.11.16 |
네모네모 멈뭄미믜 저주가 걸린 글 (262) | 2016.06.19 |
티스토리 이미지 삽입 세로 길이 맞추기 꿀팁 (6) | 2016.06.18 |
커스텀 컨텍스트 메뉴 (0) | 2016.06.16 |
안드로이드 이미지뷰에 이미지 src 바꾸기 (1) | 2016.04.11 |
게시물 중앙에 애드센스 자동출력 (6) | 2015.08.15 |
페이지 내부 링크로 이동할 때 스크롤을 부드럽게 (5) | 2015.08.04 |
댓글달기 버튼에 동적 효과 추가 (9) | 2015.04.12 |
jQuery 툴팁 (3) | 2015.04.08 |