導航:首頁 > 操作系統 > android懸浮窗拖動

android懸浮窗拖動

發布時間:2022-11-19 15:32:51

android桌面懸浮窗效果怎麼實現

可以模仿360手機衛士懸浮窗的那份代碼的基礎上繼續開發。
打開手機衛士主界面,然後上拉,然後點擊快捷設置,然後點擊桌面懸浮窗,就可以將360手機衛士安卓版桌面浮窗調出來了,具體步驟如下:
1、安裝最新的360手機衛士。
2、點開隱私保護,打開右上角的三個點。
3、點開衛士設置,點開懸浮窗。
4、開啟內存清理懸浮窗, 選擇顯示樣式,安仔樣式或是加速球。
5、可以選擇僅在桌面顯示,若開啟則懸浮窗只出現在桌面,若關閉則懸浮窗會跟隨打開頁面一直出現。
6、可以同時開啟拖動清理內存,這樣直接拖動懸浮窗圖標,就可以輕松清理內存了。

㈡ 安卓懸浮球怎麼設置

懸浮球的設置方法:
進入設置--快捷與輔助/更多設置--懸浮球中,將懸浮球開啟。(部分機型不支持懸浮球)

㈢ Android桌面懸浮窗效果怎麼實現

先談一下基本的實現原理,這種桌面懸浮窗的效果很類似與Widget,但是它比Widget要靈活的多。主要是通過WindowManager這個類來實現的,調用這個類的addView方法用於添加一個懸浮窗,updateViewLayout方法用於更新懸浮窗的參數,removeView用於移除懸浮窗。其中懸浮窗的參數有必要詳細說明一下。
WindowManager.LayoutParams這個類用於提供懸浮窗所需的參數,其中有幾個經常會用到的變數:
type值用於確定懸浮窗的類型,一般設為2002,表示在所有應用程序之上,但在狀態欄之下。
flags值用於確定懸浮窗的行為,比如說不可聚焦,非模態對話框等等,屬性非常多,大家可以查看文檔。
gravity值用於確定懸浮窗的對齊方式,一般設為左上角對齊,這樣當拖動懸浮窗的時候方便計算坐標。
x值用於確定懸浮窗的位置,如果要橫向移動懸浮窗,就需要改變這個值。
y值用於確定懸浮窗的位置,如果要縱向移動懸浮窗,就需要改變這個值。
width值用於指定懸浮窗的寬度。
height值用於指定懸浮窗的高度。
創建懸浮窗這種窗體需要向用戶申請許可權才可以的,因此還需要在AndroidManifest.xml中加入

㈣ android懸浮窗怎麼讓拖動和單擊分開,這是拖動,我現在想加一個單擊打開東西要怎麼加 publ

這個你可以換一種思維方式 就是 拖動的距離小於多少的時候 算單擊 就可以了

㈤ 手機怎麼開啟懸浮窗

若使用的是vivo手機想要開啟軟體的懸浮窗許可權,可查看以下操作方法:

OriginOS/iQOO UI/Funtouch OS 10及以上系統:
方法一:i管家--應用管理--許可權管理--許可權--懸浮窗--找到需要打開的軟體--打開懸浮窗開關;
方法二:進入設置--應用與許可權--許可權管理--許可權--懸浮窗--選擇軟體--打開開關。

㈥ android8.0之懸浮窗和通知欄

懸浮窗:

        使用場景:例如微信在視頻的時候,點擊Home鍵,視頻小窗口仍然會在屏幕上顯示;

        注意事項:

                1、一般需要在後台進行操作的時候才需要懸浮窗,這樣懸浮窗才有意義;

                2、API Level >= 23的時候,需要在AndroidManefest.xml文件中聲明許可權SYSTEM_ALERT_WINDOW才能在其他應用上繪制控制項。

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />;除了這個許可權外,我們還需要在系統設置裡面對本應用進行設置懸浮窗許可權。該許可權在應用中需要啟動Settings.ACTION_MANAGE_OVERLAY_PERMISSION來讓用戶手動設置許可權:startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), REQUEST_CODE);

                3、LayoutParam設置:LayoutParam里的type變數。這個變數是用來指定窗口類型的。在設置這個變數時,需要注意一個坑,那就是需要對不同版本的Android系統進行適配。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

    layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;

} else {

    layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE;

};在Android 8.0之前,懸浮窗口設置可以為TYPE_PHONE,這種類型是用於提供用戶交互操作的非應用窗口。

而Android 8.0對系統和API行為做了修改,包括使用SYSTEM_ALERT_WINDOW許可權的應用無法再使用一下窗口類型來在其他應用和窗口上方顯示提醒窗口:

- TYPE_PHONE

- TYPE_PRIORITY_PHONE

- TYPE_SYSTEM_ALERT

- TYPE_SYSTEM_OVERLAY

- TYPE_SYSTEM_ERROR

如果需要實現在其他應用和窗口上方顯示提醒窗口,那麼必須該為TYPE_APPLICATION_OVERLAY的新類型;

如果在Android 8.0以上版本仍然使用TYPE_PHONE類型的懸浮窗口,則會出現如下異常信息:

android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@f8ec928 -- permission denied for window type 2002;

        具體實現:

        1、Activity:
        public void startFloatingService(View view) {        

    ...

    if (!Settings.canDrawOverlays(this)) {

        Toast.makeText(this, "當前無許可權,請授權", Toast.LENGTH_SHORT);

        startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), 0);

    } else {

        startService(new Intent(MainActivity.this, FloatingService.class));

    }

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 0) {

        if (!Settings.canDrawOverlays(this)) {

            Toast.makeText(this, "授權失敗", Toast.LENGTH_SHORT).show();

        } else {

            Toast.makeText(this, "授權成功", Toast.LENGTH_SHORT).show();

            startService(new Intent(MainActivity.this, FloatingService.class));

        }

    }

}

2、service:

@Override

public int onStartCommand(Intent intent, int flags, int startId) {

    showFloatingWindow();

    return super.onStartCommand(intent, flags, startId);

}

private void showFloatingWindow() {

    if (Settings.canDrawOverlays(this)) {

        // 獲取WindowManager服務

        WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

        // 新建懸浮窗控制項

        Button button = new Button(getApplicationContext());

        button.setText("Floating Window");

        button.setBackgroundColor(Color.BLUE);

        // 設置LayoutParam

        WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

            layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;

        } else {

            layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE;

        }

        layoutParams.format = PixelFormat.RGBA_8888;

        layoutParams.width = 500;

        layoutParams.height = 100;

        layoutParams.x = 300;

        layoutParams.y = 300;

        // 將懸浮窗控制項添加到WindowManager

        windowManager.addView(button, layoutParams);

    }

}

        效果展示:

                

㈦ 華為手機懸浮窗怎麼移動

1.打開手機上面的應用,往上滑界面。

2.

在手機多任務窗口狀態點擊懸浮窗選項。

3.

然後這個應用就會進入懸浮窗狀態。

4.

按住中間的選項可以移動到要放置的位置

㈧ 安卓6.0怎麼設置懸浮窗啊

打開菜單,不是桌面,之後看到上面有個字(叫窗口小部件),之後點擊,就會看到你所有軟體應用可以使用的懸浮窗,之後點擊拖動,自動會進入到桌面,之後你想把懸浮窗放哪就放那

閱讀全文

與android懸浮窗拖動相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163