问题标签 [android-window]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 什么是安卓窗口?
Window
Android中的 a 是什么?
我以为 Android 中的最顶层叫做Activity
,也就是你看到的屏幕。
谁能告诉我 Android 中的 Window 是什么?我们只有一个还是多个。
android - 使用 FLAG_NOT_TOUCHABLE,给出无响应错误
有什么办法可以消除这个错误吗?
我在我的活动中使用 FLAG_NOT_TOUCHABLE,但是当我触摸屏幕时,它似乎没有响应错误......
android - 有没有办法以编程方式定位给定应用程序中的所有 Windows?
是否可以以编程方式枚举android.view.Window
应用程序中的所有 s 或装饰视图?
Dialogs
例如,两者都将在新的 Activity 窗口中打开Window
,与主 Activity 窗口分开。我可以通过以下方式找到它们,Dialog.getWindow()
但我不确定如何使用内置组件(例如活动菜单弹出窗口)来做到这一点。
有什么方法可以从Application
, Context
, 或WindowManager
, 或其他东西中枚举与我的应用程序关联的 Windows 吗?
我可以看到我的所有应用程序的窗口adb dumpsys window
,但我正在寻找一种方法来在我的应用程序中执行此操作而无需 root。
android - 如何在窗口管理器中使用视频视图?
我想在窗口管理器 android.layout 中显示自定义布局,其中包含两个按钮和视频视图。当我将视频视图添加到布局时,两个按钮不可见,当我在屏幕上移动布局时,按钮可见。为什么?我这样做是为了服务。
android - 调用 setContentView() 后,fitsSystemWindows="true" 不起作用
对于我正在开发的应用程序,我想在用户输入后重新加载 UI(基本上在他们对其进行更改后完全重置它)。我想尝试避免破坏/重新创建活动并改用setContentView()
它,因为它要快得多。
但是,当我这样做时,我遇到了一个问题:新创建的 UI 不尊重它,fitsSystemWindows="true"
并且它的一部分最终位于 android 的状态栏后面。
我设法将其归结为该代码示例以对其进行测试:
布局.xml
MainActivity.java
当我加载应用程序时,我得到了预期的布局,即屏幕顶部的一个简单按钮,就在状态栏的正下方:
但是,一旦我单击setContentView
第二次调用的按钮(显示相同的 XML),按钮就会出现在状态栏后面:
调用mainContainer.getMeasuredHeight()
以检查发生了什么在应用程序的第一次启动时给了我 1848 像素(在 1920 像素高的屏幕上,因此它的高度比整个屏幕小 72 像素,72 像素是状态栏的高度),但是一旦我调用 setContentView再次mainContainer.getMeasuredHeight()
给我1920px。
我在这里错过了什么吗?我可以强制 mainContainer 坚持 1848px 高度和 72px 顶部填充,但我更愿意避免像这样丑陋的 hack。
android - 以编程方式禁用多窗口功能
我正在尝试禁用android的多窗口功能。我已阅读 android 文档并知道 resizeableActivity 仅适用于 android N(API 级别 24),但我想在较低级别的 android API 上禁用它。由于三星设备在其所有设备上都具有多窗口功能(大约)。所以我必须禁用它。
java - 在运行时删除 FLAG_TRANSLUCENT_STATUS
我有MainActivity
很多Fragment
s 和一个特定的 Fragment 我想在系统栏后面绘制,所以我在运行时应用以下标志:
我现在想要的是当用户退出Fragment
并进入另一个以删除该标志时,状态栏后面没有内容。我尝试将 null 作为参数传递给setFlags()
方法,但这会出错。我搜索了remove()
orunSet()
方法,但不存在。那么我应该如何删除另一个标志Fragment
呢?
android - 在 Android O 中使用画中画功能
我创建了一个 android 应用程序来检查 Android O 的画中画模式功能。但是我在运行这个应用程序时遇到了一个错误。
setPictureInPictureArgs:设备不支持画中画模式
android - 侦听器检测视图是否在前面?
我有RecyclerView
,并且在某些情况下,我会在它上面显示另一个视图ProgressDialog
-AlertDialog
或DialogFragment
.
当我RecyclerView
在前面或另一个视图现在在它上面时,有什么方法可以通知我有关情况吗?
我试图添加onFocusChangeListener()
到我的RecyclerView
,但没有运气。
PS。当然,我可以在我的RecyclerView
创建一些方法isOnFront(boolean onFront)
和我所有的其他视图中调用它,但也许有一些更优雅的方法?
android - 如何从视图中获取窗口实例?
我通过在 windowManager 中添加一个视图mWindowManager.addview()
。现在我想知道是否可以获取window
实例。他们是myView.getWindowID()
,myView.getWindowToken()
但我找不到从中检索窗口实例的方法