프로그램을 짜려고 잡고 있으니 역시 UX와 UI가 나와야 제대로 프로그램을 짜겠구나 라는 생각을 하게 된다. 요구사항 수집/분석이란 것이 그냥 글로만 쓸것이 아니라 UX가 완성이 되고 UI가 작성되어야 제대로 되는 것이구나 라고 생각하며.
혼자 처음부터 끝까지 작성하는 프로그램이라도 할 건 하자라는 생각으로 그림판을 열었다. 그런데, 내 폰이 구형 안드로이드이다 보니. action bar같은 것은 없고 위쪽으로는 indicator 영역과 title bar 영역이 보인다.
전체 화면 크기는 3.7 인치, 800*480 해상도인데 위의 저것들의 높이는 빼야하잖아? 하고 검색해보니 indicator 보다 status bar라고들 주로 부르는 듯. 여튼 역시 누군가 물어보고 답한 흔적이 보인다. 다음의 코드를 사용해 내 프로그램이 사용할 실제 영역을 확인하자.
Rect CheckRect= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(CheckRect);
int StatusBarHeight= CheckRect.top;
int contentTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
확인하자면 StatusBarHeight는 말그대로 Status Bar의 높이를 알려주고 contentTop - StatusBarHeight 는 Title bar의 높이 되시겠다. 어차피 activity의 높이 계산을 위한 것이므로 그냥 800 - contentTop을 하면 UX를 위해 사용할 화면 높이가 계산된다.
참고로 내폰을 확인해 보니 3.7 인치 800*480 해상도라면 status bar 높이가 38, title bar의 높이도 38이다.
구글 검색해 보니 status bar 높이는 다음과 같다고 누군가 적어 놓았다. 참고하자.
for a device with 240 X 320 screen size the status bar height is 20px,
for a device with 320 X 480 screen size the status bar height is 25px,
for a device with 480 x 800 the status bar height must be 38px,
펌 : http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android
혼자 처음부터 끝까지 작성하는 프로그램이라도 할 건 하자라는 생각으로 그림판을 열었다. 그런데, 내 폰이 구형 안드로이드이다 보니. action bar같은 것은 없고 위쪽으로는 indicator 영역과 title bar 영역이 보인다.
전체 화면 크기는 3.7 인치, 800*480 해상도인데 위의 저것들의 높이는 빼야하잖아? 하고 검색해보니 indicator 보다 status bar라고들 주로 부르는 듯. 여튼 역시 누군가 물어보고 답한 흔적이 보인다. 다음의 코드를 사용해 내 프로그램이 사용할 실제 영역을 확인하자.
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(CheckRect);
int StatusBarHeight= CheckRect.top;
int contentTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
확인하자면 StatusBarHeight는 말그대로 Status Bar의 높이를 알려주고 contentTop - StatusBarHeight 는 Title bar의 높이 되시겠다. 어차피 activity의 높이 계산을 위한 것이므로 그냥 800 - contentTop을 하면 UX를 위해 사용할 화면 높이가 계산된다.
참고로 내폰을 확인해 보니 3.7 인치 800*480 해상도라면 status bar 높이가 38, title bar의 높이도 38이다.
아, 문득 생각 났는데 저 코드를 onCreate함수에서 사용해봐야 소용 없다는 걸 알아두자. 화면에 컨텐츠가 한 번 그려져야 display될 rect의 top이 계산된다. 그러므로 화면에 버튼이든 뭐든 만들어서 click 리스너에서 저 코드로 계산하던가, 아니면 Custom View를 만들어서 Drawing 이후 계산을 하게끔 하던가. 나는 당근 프로그램 내부에 버튼 하나 만들어서 onClick에서 확인했음. 귀찮으니까요. =_-
구글 검색해 보니 status bar 높이는 다음과 같다고 누군가 적어 놓았다. 참고하자.
for a device with 240 X 320 screen size the status bar height is 20px,
for a device with 320 X 480 screen size the status bar height is 25px,
for a device with 480 x 800 the status bar height must be 38px,
펌 : http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android
생각하라!!!!
.
.
.
ㅋ
ㅋ
ㅋ
from. tumblr
'관계, Networking 그리고 Programming' 카테고리의 다른 글
Bitmap을 파일로 저장하기 (0) | 2012.02.03 |
---|---|
레이아웃 설정 sp와 dp의 차이? (0) | 2012.01.30 |
오늘의 안드로이드 놀이 (0) | 2011.07.19 |
에이씨 짜잘한 에러 참 거슬리네 (0) | 2011.07.12 |
Helios ADT 설치 시 오류 (0) | 2011.07.12 |