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

서비스로 띄운 뷰. 세로고정 방법 질문!

0 추천
안녕하세요, 안드로이드 초보 개발자입니다.

서비스로 뷰를 하나 띄우고 있습니다.

이 뷰를 단말의 가로,세로 화면(회전)변경에 관계없이 유지시켰으면 하는데요...

이에 대한 방법을 모르겠습니다. 뒤에 세로고정 투명액티비티를 띄울까 생각했었는데... 그 방법은 사용 못할것 같습니다.

혹시 서비스로 띄운 뷰를 세로로 고정해서 보여줄 방법이 있을까요??

조언 부탁드립니다!!
블랙이요블랙 (12,860 포인트) 님이 2015년 5월 26일 질문

2개의 답변

+1 추천
 
채택된 답변
layoutParams.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
windowManager.addView(view, layoutParams);

서비스에서 띄운 뷰에 방향을 지정해주면

뒤에 떠있는 액티비티에서 지정한 방향보다 우선합니다

rotation locker류 앱들이 이런방법으로 화면을 고정시키죠

 

alkyne (22,960 포인트) 님이 2015년 5월 26일 답변 1 신고
블랙이요블랙님이 2015년 5월 26일 채택됨
0 추천
해당 view가 떠있고 뒤에 떠있는 앱의 orientation을 따라갈겁니다.
세로앱에서는 세로로, 가로앱에서는 위치를 재조정하게되겠죠.
Service에서 띄운 view 뒤에 있는 activity가 가로모드를 지원하는 앱인 경우에 화면을 돌려야 하기 때문입니다.

생각에는 DisplayMatrics를 이용하셔서 onConfigurationChanged가 호출될 때 위치를 다시 재조정하는것이 가장 좋을듯 하네요.
빅클라인 (4,520 포인트) 님이 2015년 5월 26일 답변
...