1. 程式人生 > >Android 實現頂層視窗、浮動視窗(附Demo)

Android 實現頂層視窗、浮動視窗(附Demo)

    

//Edited by mythou

  private void createFloatView() { Button btn_floatView = new Button() btn_floatView = new Button(getApplicationContext()); btn_floatView.setText("懸浮窗"); wm = (WindowManager) getApplicationContext().getSystemService( Context.WINDOW_SERVICE);
params = new WindowManager.LayoutParams(); // 設定window type params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; /* * 如果設定為params.type = WindowManager.LayoutParams.TYPE_PHONE; 那麼優先順序會降低一些, * 即拉下通知欄不可見 */ params.format = PixelFormat.RGBA_8888; //
設定圖片格式,效果為背景透明 // 設定Window flag params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; /* * 下面的flags屬性的效果形同“鎖定”。 懸浮窗不可觸控,不接受任何事件,同時不影響後面的事件響應。 * wmParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL | * LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE;
*/ // 設定懸浮窗的長得寬 params.width = 100; params.height = 100; // 設定懸浮窗的Touch監聽 btn_floatView.setOnTouchListener(new OnTouchListener() { int lastX, lastY; int paramX, paramY; public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); paramX = params.x; paramY = params.y; break; case MotionEvent.ACTION_MOVE: int dx = (int) event.getRawX() - lastX; int dy = (int) event.getRawY() - lastY; params.x = paramX + dx; params.y = paramY + dy; // 更新懸浮窗位置 wm.updateViewLayout(btn_floatView, params); break; } return true; } }); wm.addView(btn_floatView, params); isAdded = true; }

相關推薦

Android 實現頂層視窗浮動視窗Demo

//Edited by mythou  private void createFloatView() { Button btn_floatView = new Button() btn_floatView = new Button(ge

Android 實現頂層視窗浮動視窗

//Edited by mythou   private void createFloatView() { Button btn_floatView = new Button() btn_floatView = new Button(g

IOS學習 iPad控制元件:POP控制元件器,分割視窗浮動視窗模態檢視的使用

@implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptio

【c++鞏固練習】c++實現日期計算器日期萬年曆日期類

<pre class="cpp" name="code">#include "Date.h" bool Date::operator==(const Date& d) { return _year==d._year && _month==d._month &&a

Android 實現ListView item的左滑右滑監聽事件 swipemenulistview

這篇文章將會介紹我是如何學習item的左滑監聽事件設定的,首先我們先新增依賴: compile ‘com.baoyz.swipemenulistview:library:1.3.+’ 可以看到,我們是藉助大神所寫的swipemenulistView這個空

Asp.net實現直接在瀏覽器預覽WordExcelPDFTxt檔案原始碼

publicstaticvoid Priview(System.Web.UI.Page p, string inFilePath, string outDirPath ="")    {        Microsoft.Office.Interop.Excel.Application excel =nul

如何在python中實現整數的二進位制迴圈移位程式碼

【時間】2018.11.03 【題目】如何在python中實現整數的二進位制迴圈移位(附程式碼) 概述 在python中,可以通過<<以及>>運算子實現二進位制的左移位以及右移位,然而並沒有實現迴圈移位的運算子,暫時也找不到可以實現迴圈移位的函式,所以在本文中,主

python實現Excel檔案讀取的程式原始碼

python實現Excel檔案讀取的程式   前一段時間幫一個朋友用python寫了一個讀Excel程式操作的程式,具體要求為:讀取兩個Excel檔案,根據其中某個特徵的特徵值對這兩個檔案進行取交集操作,生成三個Excel檔案,第一個Excel檔案為這兩個檔案的公

Android 二維碼 生成和識別Demo原始碼

  今天講一下目前移動領域很常用的技術——二維碼。現在大街小巷、各大網站都有二維碼的蹤跡,不管是IOS、Android、WP都有相關支援的軟體。之前我就想了解二維碼是如何工作,最近因為工作需要使用相關技術,所以做了初步瞭解。今天主要是講解如何使用ZXing庫,生成和識別二維碼。這篇文章實用性為主,理

Android安全常見風險處理解決方案程式碼

一、資原始檔保護 二、Activity和Service越權檢測 修改export=false 三、Activity劫持檢測 處理檢測app進去後臺的時候提示使用者 也就是在onPause

小姐姐帶你一起學:如何用Python實現7種機器學習演算法程式碼

編譯 | 林椿眄出品 | AI科技大本營(公眾號ID:rgznai100)【AI科技大本營導讀】

Android Wear 控制元件——WearableListViewDemo

WearableListView是適用於android小型裝置如智慧手錶顯示列表的元件,可以村子滾動,非常方便的在只能手錶上顯示列表控制元件,每次顯示三個列表在螢幕中間位置。 它繼承RecyclerView,實現了OnScrollListener介面。 public cla

Android跨程序通訊AIDL詳解原始碼

概述 AIDL:Android Interface Definition Language,即Android介面定義語言,記住,它是一門語言,設計它的目的就是為了實現跨程序通訊,我們知道Android的每一個程序都執行在獨立的記憶體中,程序之間程式碼是不能愉快

Android MediaPlayer+SurfaceView播放視訊Demo

MediaPlayer,顧名思義是用於媒體檔案播放的元件。Android中MediaPlayer通常與SurfaceView一起使用,當然也可以和其他控制元件諸如TextureView、SurfaceTexture等可以取得holder,用於MediaPlaye

Android 熱修復與外掛化 一】帶你入門Android外掛化demo

本文為博主Colin原創文章,歡迎轉載。 https://blog.csdn.net/colinandroid/article/details/79431502   一. 背景 Android外掛化作為每個合格的Android程式設計師都必須會的技術,被各大廠廣泛使用。隨著各大廠對

Kafka 0.11.0.0 實現 producer的Exactly-once 語義官方DEMO

A Kafka client that publishes records to the Kafka cluster. The producer is thread safe and sharing a single producer instance across threads will generall

【分享】分享一個基於SSH實現的簡單學生選課系統原始碼

歡迎關注微信賬號:java那些事:csh624366188.每天一篇java相關的文章 java交流工作群1: 77800592(已滿) java交流學生群2:234897635(已滿) java交流工作群3:94507287 java交流工作群4: 272265434 我的郵箱:

Android Service Activity三種互動方式原始碼

android SDK提供了Service,用於類似*nix守護程序或者windows的服務。 Service有兩種型別: 1.本地服務(Local Service):用於應用程式內部 2.遠端服務(Remote Sercie):用於android系統內部的應用程式之間 前

基於springBoot實現給圖片新增文字水印原始碼

原始碼在最下面 程式背景 在網路中的很多地方都有水印的存在,比如微信公眾號上面的圖片,微博 等……所以老闆也要求我們在圖片上傳時新增自己的水印。 所以寫了一個工具類。

iOS-68-星星評價顯示小數點星星評價效果demo

1、上效果圖: 2、 第一個是顯示的7.2分的評分 第二個可以點選選擇評分 3、主要程式碼: - (void)creatStarView{ UIImage *gray = [UIImage imageNamed:@"starGrey"]