2013-12-19 5 views
0

사용자가 화면을 터치하고 응용 프로그램이 점의 오버레이 십자형보기를 표시하는 많은 응용 프로그램을 보았습니다. 이 기능이 어떻게 작동하는지, 그리고 모든 화면을 오버레이하는 전화의 개발자 옵션과 같이 오버레이하는 방법을 알고 싶습니다. 고맙습니다.십자선을 오버레이하는 방법

답변

1

응용 프로그램뿐만 아니라 모든 것을 오버레이하려면 서비스에서 이와 같이 코드를 호출하십시오.

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

는 또한이 튜토리얼 http://www.piwai.info/chatheads-basics/

+0

정말 고마워요 !!! – NEXTGENINTL

1

보기로는 inflate 레이아웃을, 루트보기에는 add view을 사용할 수 있습니다.

inflater = LayoutInflater.from(getBaseContext()); 
View view = inflater.inflate(R.layout.overlay, null); 
LayoutParams layoutParamsControl= new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
this.addContentView(view, layoutParamsControl); 
+0

더 구체적으로하시기 바랍니다, 감사합니다 체크 아웃 :

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); LayoutInflater layoutInflater = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); mView = layoutInflater.inflate(R.layout.whatToShow, null); WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); params.gravity = Gravity.LEFT; params.x = 0; params.y = 0; windowManager.addView(mView, params); 

그리고 제거는

((WindowManager) getSystemService(WINDOW_SERVICE)).removeView(mView); 

이 매니페스트에 다음 줄이 필요합니다. – NEXTGENINTL

+0

검색 한 적이 있습니까? 아래를 보시고 편집하겠습니다 – marshallino16

+0

감사합니다. 도움이되었다. – NEXTGENINTL

관련 문제