2012-05-24 10 views
6

Poszukuję informacji o pływających nakładkach Nie nakłada się mapView, ale nakładki unoszą się nad innymi aplikacjami.Informacje o pływających nakładkach/elementach nad innymi aplikacjami

Na przykład aplikacje te robią to, co szukam:

https://play.google.com/store/apps/details?id=com.pvy.batterybar

https://play.google.com/store/apps/details?id=ds.cpuoverlay

Są elementy w przedniej części ekranu wyświetlającego nawet jeśli nie jesteśmy w aplikacji

Próbowałem wyszukiwać, ale niczego nie znalazłem.

Czy ktoś wie, gdzie można znaleźć jakąś dokumentację API, link samouczku kawałek kodu ...

Dzięki

+0

Znalazłem również: https://play.google.com/store/apps/details?id=com.rootuninstaller.rambooster, który wykrywa dotknięcie i uruchamia niektóre akcje – yuuzhantar

Odpowiedz

0

Aby to zrobić, trzeba będzie zgody „android.permission.SYSTEM_ALERT_WINDOW”. Po dodaniu pozwolenia do pliku manifestu, wykonaj następujące czynności:

final WindowManager.LayoutParams param=new WindowManager.LayoutParams(); 
param.flags=WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; 
final View view=findViewById(R.id.my_floating_view); 
final ViewGroup parent=(ViewGroup)view.getParent(); 
parent.removeView(view); 
param.format=PixelFormat.RGBA_8888; 
param.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; 
param.gravity=Gravity.TOP|Gravity.LEFT; 
param.width=view.getLayoutParams().width; 
param.height=view.getLayoutParams().height; 
final WindowManager wmgr=(WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE); 
wmgr.addView(view,param); 

Sądzę, że tak właśnie odbywają się czacie na Facebooku. Mam nadzieję, że pomogło!

+0

jak korzystać z tego kodu? –