마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

status bar 막는법

0 추천

상태바를 숨기는 것까진 하였는데 그래도 그 위치에서 아래로 슬라이드 하면 나오더라구요

아예 상태바 내리는 것을 막는 방법은 없을까요??

막는 방법이 없으면 내리는 순간 바로 올리는 방법은 없을까요??

구글링하다 나온 소스를 사용해봐도 안되더라구요

@Override
public boolean onTouchEvent(MotionEvent event){
    int x = (int)event.getX();
    int y = (int)event.getY();
    int eventaction = event.getAction();

    if(y<400){
        onWindowFocusChanged(true);
    }

    return true;
}

public void onWindowFocusChanged(boolean hasFocus){
    super.onWindowFocusChanged(hasFocus);
    Log.d(TAG,"Focus changed");
    if(!hasFocus){
        Log.i(TAG,"close");
        Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        getApplicationContext().sendBroadcast(closeDialog);
    }
}

onCreate에는 이게 추가되었구요

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

또, statusbar와 notificationbar의 차이는 무엇인가요??

빈길 (1,270 포인트) 님이 2018년 1월 10일 질문

1개의 답변

0 추천
 
채택된 답변
1. Status bar 사용을 막는 것은 앱의 권한 벗어나는 부분입니다. 막는 방법은 없을 것 같습니다.

2. 권장하는 바는 아니지만 첨부된 코드는 동작하는 코드인데, 동작을 안한다고 말씀하시는 거 보면

   Activity내 다른 view에서 touch event를 받아가서 onTouchEvent()가 안 불리는 것 처럼 보이네요.
디자이너정 (42,810 포인트) 님이 2018년 1월 10일 답변
빈길님이 2018년 1월 18일 채택됨
몇개의 기기에서 돌려보니 스마트폰에서는 되고 태블릿에서는 안되네요 태블릿에서 할 수 있는 방법이 따로 있을까요??
또 스마트폰에서 할 때도 끝까지 끌어내리면 그대로 notification bar가 내려오던데 이 소스외의 다른 방법이 있을까요??
...