草庐IT

WindowManager

全部标签

android - 进度对话框和后台线程处于 Activity 状态时如何处理屏幕方向更改?

我的程序在后台线程中执行一些网络Activity。在开始之前,它会弹出一个进度对话框。该对话框在处理程序上被解除。这一切都很好,除非在对话框启动时屏幕方向发生变化(并且后台线程正在运行)。此时,应用程序要么崩溃,要么死锁,或者进入一个奇怪的阶段,在所有线程都被杀死之前,应用程序根本无法工作。如何优雅地处理屏幕方向变化?下面的示例代码与我的实际程序大致匹配:publicclassMyActextendsActivityimplementsRunnable{publicProgressDialogmProgress;//UIhasabuttonthatwhenpressedcallssen

android - Activity 泄露了原来添加的窗口

这是什么错误,为什么会发生?05-1718:24:57.069:ERROR/WindowManager(18850):Activitycom.mypkg.myPhasleakedwindowcom.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0thatwasoriginallyaddedhere05-1718:24:57.069:ERROR/WindowManager(18850):android.view.WindowLeaked:Activityccom.mypkg.myPhasleakedwindowcom.

android - Activity 泄露了原来添加的窗口

这是什么错误,为什么会发生?05-1718:24:57.069:ERROR/WindowManager(18850):Activitycom.mypkg.myPhasleakedwindowcom.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0thatwasoriginallyaddedhere05-1718:24:57.069:ERROR/WindowManager(18850):android.view.WindowLeaked:Activityccom.mypkg.myPhasleakedwindowcom.

java - 带有动画的 WindowManager(可能吗?)

有没有办法使用WindowManager使用Animation(在android的项目中)来膨胀View?即使使用站点中的示例,我也无法做到!我用了很多例子,但没有一个奏效!publicBannerLayout(Activityactivity,finalContextcontext){super(context);this.context=context;finalWindowManager.LayoutParamsparams=newWindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,W

安卓 1.6 : "android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application"

我正在尝试打开一个对话窗口,但每次我尝试打开它时都会抛出此异常:Uncaughthandler:threadmainexitingduetouncaughtexceptionandroid.view.WindowManager$BadTokenException:Unabletoaddwindow--tokennullisnotforanapplicationatandroid.view.ViewRoot.setView(ViewRoot.java:460)atandroid.view.WindowManagerImpl.addView(WindowManagerImpl.java:1

Android WindowManager

AndroidWindowManager一、Window分类Window有三种类型,分别是应用Window、子Window和系统Window。应用类Window对应一个Acitivity,子Window不能单独存在,需要依附在特定的父Window中,比如常见的一些Dialog就是一个子Window。系统Window是需要声明权限才能创建的Window,比如Toast和系统状态栏都是系统Window。Window是分层的,每个Window都有对应的z-ordered,层级大的会覆盖在层级小的Window上面。我们可以用一个表格来直观的表示:Window层级应用Window1~99子Window1

Android WindowManager

AndroidWindowManager一、Window分类Window有三种类型,分别是应用Window、子Window和系统Window。应用类Window对应一个Acitivity,子Window不能单独存在,需要依附在特定的父Window中,比如常见的一些Dialog就是一个子Window。系统Window是需要声明权限才能创建的Window,比如Toast和系统状态栏都是系统Window。Window是分层的,每个Window都有对应的z-ordered,层级大的会覆盖在层级小的Window上面。我们可以用一个表格来直观的表示:Window层级应用Window1~99子Window1

Android在子线程更新View

刚开始做Android开发时,一不小心就会在非UI线程中做更新UI的操作,从而造成崩溃,那么这是什么原因呢?那是因为ViewRootImpl在添加View的时候通过以下代码做了线程检测voidcheckThread(){if(mThread!=Thread.currentThread()){thrownewCalledFromWrongThreadException("Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews.");}}很清楚地看到mThread如果不等于当前线程就会抛出异常,而mThread地赋值是在View

Android在子线程更新View

刚开始做Android开发时,一不小心就会在非UI线程中做更新UI的操作,从而造成崩溃,那么这是什么原因呢?那是因为ViewRootImpl在添加View的时候通过以下代码做了线程检测voidcheckThread(){if(mThread!=Thread.currentThread()){thrownewCalledFromWrongThreadException("Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews.");}}很清楚地看到mThread如果不等于当前线程就会抛出异常,而mThread地赋值是在View