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

서비스에서 WindowManager 로 뷰생성시 getWindow()대신 무엇을 써야하나요?

0 추천

서비스에서 WindowManager 로 팝업 뷰 하나 생성 했습니다.

linearLAyout = (LinearLayout) mainView.inflate( this, R.layout.popup, null );
params = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.TYPE_PHONE,
    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
    PixelFormat.TRANSLUCENT);             
  params.gravity= Gravity.TOP;
  params.y = 0;
  //params.width= 440;
  //params.height= 400;
  wm = (WindowManager) getSystemService(WINDOW_SERVICE); 
  wm.addView(linearLAyout, params);

이런식으로 뛰우는데 문제는 이 곳에 에디트텍스트 를 이용해서 메모하는 기능이있는데

키보드가 뜨면 에디트텍스트 창을 가려버립니다.

android:windowSoftInputMode="adjustResize" 이것을 메니페스트에 추가해봤지만 액티비티가 아니라 안되는거 같구요.

코드로 해야겠는데...

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

이것으로 하여야 될것 같은데 getWindow()는 서비스에서 안된다고 빨간줄 끄이네요... 방법 없을까요?

 

Holyreign (160 포인트) 님이 2013년 7월 16일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...