首页 > TAG信息列表 > WindowManager

Window的内部机制

Window是一个抽象的概念,每一个Window都对应着一个View和一个ViewRootImpl,Window和View 通过ViewRootImpl来建立联系,因此Window并不是实际存在的,它是以View的形式存在。这点从WindowManager的定义也可以看出,它提供的三个接口方法addView、updateViewLayout以及removeView都是针对V

【Android】设置Dialog

private Dialog alertDialog = new AlertDialog.Builder(context). setView(view). create();alertDialog.getWindow().setDimAmount(0f);//设置透明背景alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable());//设置背景填充alertDialog.getWindow

qt安卓 沉浸式

package an.qt.QtFullscreenActivityAPP;//指明文件包名 import android.content.Context; import android.content.Intent; import android.app.PendingIntent; import android.util.Log; import android.os.Bundle; import android.os.Build; import android.graphics.Color; im

直播app源码,状态栏和导航栏设置成透明状态

直播app源码,状态栏和导航栏设置成透明状态实现的相关代码 设置页面透明,使用主题 注册activity设置主题    <style name="TranslucentNoActionBarTheme" parent="Theme.AppCompat.NoActionBar">        <item name="windowActionBar">false</item>        <item na

windowManager向window添加、更新、删除view过程

目录 一、window和windowManager关系 二、几个关键列表 二、add、remove、updata add过程 remove过程: update过程: 三、Activity的window创建过程: 一、window和windowManager关系 二、几个关键列表 二、add、remove、updata add过程 1.检查参数是否合法,如果是子window那么

短视频app源码,连麦时最小化出现可移动悬浮窗

短视频app源码,连麦时最小化出现可移动悬浮窗实现的相关代码 新建悬浮窗Service 新建悬浮窗Service FloatWinfowServices,因为我们使用的BindService,我们在onBind方法中初始化service中的布局   override fun onBind(intent: Intent): IBinder? {    initWindow()    

Android面试官:Window连环十二问你顶得住吗?,flutter面试题

面试官:关于Window,你了解多少呢? 看看下面这些问题你都能答上来吗。 如果你遇到这些问题 Window是什么?和View的关系? WindowManager是什么?和WMS的关系? 怎么添加一个Window? Window怎样可以显示到锁屏界面 Window三种类型都存在的情况下,显示层级是怎样。 Window就是指Phone

Android悬浮窗的一种实现,实现原理分析

效果如下: 显示浮窗 原生ViewManager接口提供了向窗口添加并操纵View的方法: public interface ViewManager{ //‘向窗口添加视图’ public void addView(View view, ViewGroup.LayoutParams params); //‘更新窗口中视图’ public void updateViewLayout(View view, ViewGro

Android高工面:Activity创建到View呈现中间发生了什么?子线程到底能不能更新UI

} handleLaunchActivity()主要调用了两个方法:performLaunchActivity()和handleResumeActivity() performLaunchActivity:完成Activity的创建,以及调用Activity的 onCreate()和onStart()方法。 handleResumeActivity:调用Activity的onResume()方法,处理View的呈现。 performLau

Android - 获取屏幕分辨率

kotlin val windowManager = window.windowManager val point = Point() windowManager.defaultDisplay.getRealSize(point) //屏幕实际宽度(像素个数) val width: Int = point.x //屏幕实际高度(像素个数) val height: Int = point.y java WindowManager windowManager = getW

Android 实现全局浮动弹窗,95%Android开发者已收藏的十大开源库

private WindowManager.LayoutParams mLayoutParams; public SmallWindowView getWindowView() { return mWindowView; } public WindowManager getWindowManager() { return mWindowManager; } public WindowManager.LayoutParams getLayoutParams() { return mLayoutParams

C# WPF MVVM模式下在主窗体显示子窗体并获取结果

01 —     前言       在winform中打开一个新的子窗体很简单,直接实例化窗体并show一下就可以: Form2 f2 = new Form2(); f2.Show();   或者 Form2 f2 = new Form2(); f2.ShowDialog();    但是,在wpf的mvvm模式下,这种方法是行不通的,因为逻辑是在viedmodel中写

Dialog/PopupWindow/Toast 到底该怎么选

前言 显示页面除了Activity,使用最多的可能就是Dialog、PopupWindow、Toast了。这三者有相似之处也有不一样的地方,本篇文章旨在厘清三者关系,阐明各自的优缺点,并探讨哪种场合使用它们。 本篇文章涉及到WindowManager相关知识,如有需要请移步:Window/WindowManager 不可不知之事

Android GUI 系统总结之Window

Android GUI 系统总结之Window 本文内容均来源于网络,总结起来方便复习 文章目录 Android GUI 系统总结之Window1 AndroidGUI总结2 Window说明2-1 PhoneWindow作用 3 window创建 网址 https://www.cnblogs.com/samchen2009/p/3364327.html https://blog.csdn.net/qian5

关于Android项目中的Toast那些动画实现方式

最近产品给了一个竞品App的Toast动画,希望开发可以去实现它,经过一段时间的深(不)思(停)熟(百)虑(度)之后,发现事情其实并不简单,所以这里记录一下关于Android~Toast动画实现的相关问题。 首先产品动画大概长这样: https://live.csdn.net/v/172131 动画非常简单,大概可以分解为: 弹出

Android 悬浮窗口

WindowManager wm = (WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;

设置应用全屏的几种方式

1. 去掉标题栏+全屏显示+导航栏半透明 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { // todo 去掉标题栏 supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

直播带货app源码如何制作全局悬浮窗?

有些直播带货app中经常会用到一个全局可悬浮的按钮、或者窗口,今天我们就来介绍一下直播带货app源码中如何制作“可跟随手指拖动的全局悬浮窗”。 一、自定义一个跟随手指滑动的View 在直播带货app源码中自定义一个跟随手指滑动的View很简单,本篇的教程中只支持简单的悬浮拖动,后期

Window, WindowManager和WindowManagerService之间的关系

上面3个名词在开发中经常听到,在Android开发中,Window是所有视图的载体,如Activity,Dialog和Toast的视图,我们想要对Window进行添加和删除就要通过WindowManager来操作,而WindowManager就是通过Binder与WindowManagerService进行跨进程通信,把具体的实现工作交给WindowManagerServic

为什么Application不能作为Dialog的Context

结论: 用activity作为context参数的dialog创建的windowManager是有token的,用service和application作为参数的windowManager的是没有token,所以会崩溃,这样做的好处是防止当你已经关闭页面了,或者已经打开其他app了,这个时候弹出一个操作弹窗,防止误操作。 源码分析 首先我们看dialo

无障碍服务和悬浮框

一、无障碍服务开启 AccessibilityService是一个抽象类,应用需要创建Service来继承AccessibilityService并实现抽象方法。 1、创建HongBaoService.java 2、AndroidManifest.xml中声明并配置 <service android:name="com.yhao.floatwindow.HongBaoService" android:enabl

Android之window机制token验证

这篇文章讲解关于window token的问题,同时也是Context机制和Window机制这两篇文章的一个补充。如果你对Android的Window机制和Context机制目前位了解过,强烈建议你先阅读前面两篇文章,可以帮助理解整个源码的解析过程以及对token的理解。同时文章涉及到Activty启动流程源码,读者

android-windowManager使用实例

   public static boolean isStarted; private WindowManager windowManager; private WindowManager.LayoutParams layoutParams; private View displayView; private Handler mHandler = new Handler(); private Button accOn; private Button accOff;

android.view.WindowManager$BadTokenException: Unable to add window

显示一个对话框: 然后报了android.view.WindowManager$BadTokenException: Unable to add window错误。   冒一看,以为是token方面的错误,但是是context方面的错。 new QMUIDialog.CheckBoxMessageDialogBuilder(mContext) .setTitle("退出后是否删除

屏幕相关

public Point getScreenSize(Context context) { Point point = new Point(); WindowManager windowManager = (WindowManager) context.getSystemService( Context.WINDOW_SERVICE); //不含虚拟按键 //windowManager.getDefaultDisplay().getSize(point);