2013-05-15 2 views
24

투명 활동을 사용하거나 터치 이벤트를 사용하지 않고 표시되는 내용에 관계없이 다른 모든 활동 상단에 어떻게 내용을 그립니다.Android : 어떤 활동 (모든 활동) 위에 자유롭게 그리는 방법

터치 할 때 반응하는 다른 모든 앱 위에 화면에 맞춤 아이콘을 표시하는 것이 좋지만 화면의 다른보기는 계속 터치 할 수 있습니다.

예 : 홈 스크린이나 앱 메뉴 또는 앱에 상관없이 무엇을하고 있는지에 관계없이 화면에서 드래그하고 클릭 할 수있는 아이콘을 표시하는 facebook 채팅 헤드입니다. 채팅 헤드 아이콘과 백그라운드 앱 요소를 별도로 클릭 할 수 있습니다.

어떻게 할 수 있습니까?

답변

31

하는이 멋진 기사를 살펴 보자, 나는 당신이 원하는 것을 정확히 생각 :

한마디로 http://www.piwai.info/chatheads-basics

가 :

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 

의 경우 : 매니페스트에이 권한을 추가 할 api >= 23, 런타임 권한을 요청해야합니다. Settings.ACTION_MANAGE_OVERLAY_PERMISSION

그런 다음 서비스에서 그는 창 관리자

windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); 

+0

바로 그렇습니다! 그게 내가 필요한 대답이다. TON 친구에게 고마워! – Allahjane

+0

http://stackoverflow.com/help/how-to-answer 및 http://meta.stackexchange.com/a/8259/307923 – arekolek

+0

이 항목은 23 번째 장치가 아니라 23 번째 장치에서 사용할 수 있습니다. 나는 22를 목표로하고있다. 이것을 달성하기 위해서는 23+로 업그레이드하고 전체적으로 런타임 권한을 구현해야합니까? – SlashG

3

WindowManager을 살펴보십시오. 루트보기를 보려면 (WindowManager)mContext.getSystemService("window");과 같은 작업을 수행하고,보기를 추가하려면 addView(view, params) 메서드를 사용할 수 있습니다.

+1

관련된 addView 방법으로 귀하의 의견을 추가하지만 난 더 자세한 정보를 필요! 어쨌든 귀하의 의견을 주셔서 감사합니다 – Allahjane

+0

내 고향을 사용하여 뒤로 버튼이 작동하지 않습니다. –