簡體   English   中英

如何在Android中使透明活動窗口始終位於頂部?

[英]How to make transparent activity window always on top in android?

我創建了一個透明的活動A。在這種情況下,我正在使用表面視圖播放視頻。 我可以觸摸活動A后面的應用和活動。但是,當我單擊另一個應用時,活動A進入后台並以不適當的方式關閉。 如果您單擊其他應用程序,我想使活動A始終停留在屏幕頂部。 我嘗試了很多標志,但沒有人能正常工作。 如果想知道如何使活動窗口始終位於最前面?

請分享您的建議和想法。 任何幫助將不勝感激。

您可以使用WindowManager.addView()將自定義的視圖添加到窗口,還可以為視圖設置WindowManager.LayoutParams屬性。

這是一個示例:

private WindowManager wm=null;
private WindowManager.LayoutParams wmParams=null;

private MyCustomView myView=null;

private void createView(){
    myView = new MyCustomView(getApplicationContext());
    wm = (WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    wmParams = new WindowManager.LayoutParams();

    /**
     * Window type: phone.  These are non-application windows providing
     * user interaction with the phone (in particular incoming calls).
     * These windows are normally placed above all applications, but behind
     * the status bar.
     */
    wmParams.type=LayoutParams.TYPE_PHONE;
    wmParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE;
    wmParams.gravity=Gravity.LEFT|Gravity.TOP; 
    wmParams.x=0;
    wmParams.y=0;
    wmParams.width=40;
    wmParams.height=40;
    wm.addView(myView, wmParams);
}

不要忘記在AndroidManifest.xml中添加權限:

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

然后,您可以在MyCustomView中對所有應用程序執行任何所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM