3
如何將視圖/圖像添加到我的主屏幕?Android上的覆蓋屏幕
最好的例子是Facebook的信使:如果你長時間在聊天項目,你可以選擇「彈出作弊頭」,然後你有一個小按鈕覆蓋你的屏幕。
也有類似屏幕保護程序的應用程序,來自破損顯示屏的圖像覆蓋手機中的所有內容。
我已經搜索過它,但我不知道它叫什麼。
我希望你們能夠理解我的英語。
如何將視圖/圖像添加到我的主屏幕?Android上的覆蓋屏幕
最好的例子是Facebook的信使:如果你長時間在聊天項目,你可以選擇「彈出作弊頭」,然後你有一個小按鈕覆蓋你的屏幕。
也有類似屏幕保護程序的應用程序,來自破損顯示屏的圖像覆蓋手機中的所有內容。
我已經搜索過它,但我不知道它叫什麼。
我希望你們能夠理解我的英語。
答案是SYSTEM_ALERT_WINDOW,這讓你有能力在android中繪製任何東西,同樣的功能,facebook用於繪製它的聊天頭。
http://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW
示例代碼:
private WindowManager windowManager;
private ImageView imageView;
// Get window manager reference
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
imageView= new ImageView(YOUR_CONTEXT_HERE);
imageView.setImageResource(R.drawable.android_head);
// Setup layout parameter
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.TOP | Gravity.LEFT; // Orientation
params.x = 100; // where you want to draw this, coordinates
params.y = 100;
// At it to window manager for display, it will be printed over any thing
windowManager.addView(chatHead, params);
// Make sure to remove it when you are done, else it will stick there until you reboot
// Do keep track of same reference of view you added, don't mess with that
windowManager.removeView(imageView);
謝謝你,它的工作原理,但如果我想看到它關閉應用程序後,我不得不使用服務? – user2988203
是的,那麼你必須通過服務使用它,請接受它作爲一個答案,然後幫助其他人:) – Techfist
我有另一個問題,我可以刪除與windowmanager.removeView(視圖)的觀點,但它沒有效果。第二次嘗試說已被刪除,但我仍然可以看到它... – user2988203