使用其中一个有什么区别?
WindowManager.LayoutParams windowManagerParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_PHONE, //WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
windowManagerFlags,
PixelFormat.TRANSLUCENT
);
答案 0 :(得分:0)
正如WindowManager.LayoutParams
中{{1}}所说的那样:
窗口类型:手机。这些是非应用程序窗口,提供用户与电话的交互(特别是来电)。这些窗口通常位于所有应用程序之上,但位于状态栏后面。在多用户系统中显示所有用户'视窗。 (Android Developer reference)
窗口类型:系统窗口,例如低功耗警报。这些窗口始终位于应用程序窗口的顶部。在多用户系统中,仅在拥有用户的窗口中显示。 (TYPE_PHONE)
所以它取决于用例和环境(多用户,单用户,一个特定用户)
答案 1 :(得分:0)
其中一个不同之处是如何处理SOFT_INPUT_ADJUST_PAN
和SOFT_INPUT_ADJUST_RESIZE
。
从API 19选项SOFT_INPUT_ADJUST_PAN
和SOFT_INPUT_ADJUST_RESIZE
don't affect窗口开始,其类型为TYPE_SYSTEM_ALERT
和TYPE_TOAST
(and TYPE_VOLUME_OVERLAY for API 21 and 22;在API 23中{{ 1}}从此列表中删除。)
关于TYPE_VOLUME_OVERLAY
。
TYPE_SYSTEM_ALERT
通常与TYPE_PHONE
和SOFT_INPUT_ADJUST_PAN
一起行动。