阅读(4729) (8)

鸿蒙OS Window

2022-10-09 17:08:02 更新

Window

java.lang.Object

|---ohos.agp.window.service.Window

public class Window
extends Object

windows 的实现类。

该类提供了基于 LayoutConfig 修改窗口属性的方法。

Since:

2

嵌套类摘要

修饰符和类型 描述
static interface Window.IAccessibilityEventListener 填充可访问性事件侦听器的实现类。

构造函数摘要

构造函数 描述
Window() 用于创建 Window 实例的构造函数。

方法总结

修饰符和类型 方法 描述
void addFlags(int flags) 添加窗口标志。
void addWindowFlags(int flags) 在 ohos 中添加窗口的特征标志。
void clearFlags(int flags) 从窗口中清除标志。
void clearWindowFlags(int flags) 清除窗口中的标志。
float getAltitude() 获取窗口在垂直于手机屏幕方向的高度。
Rect getBoundRect() 获取移动窗口的边界。
OptionalComponent getCurrentComponentFocus() 获取在此窗口中获得焦点的 Component 对象。
OptionalWindowManager.LayoutConfig getLayoutConfig() 获取要读取或修改的 Window 实例的 LayoutConfig 对象。
LayoutScatter getLayoutScatter() 获取此窗口的布局散点图。
int getStatusBarVisibility() 获取状态栏是否可见。
int getSystemBarStyle() 获取导航栏或状态栏的可见性类型。
boolean isActive() 检查此窗口是否处于活动状态。
boolean isMovable() 检查窗口是否可移动。
boolean isWCGMode() 检查此窗口是否处于广色域 (WCG) 模式。
int replicateFrom(WindowManager.LayoutConfig param) 为此窗口设置布局属性。
void setAccessibilityEventListener(Window.IAccessibilityEventListener listener) 设置可访问性事件的侦听器。
void setAltitude(float altitude) 设置垂直于电话屏幕方向的窗口高度。
void setBackground(String elementPath) 设置窗口的背景。
void setBackgroundColor(RgbColor rgbColor) 设置窗口的背景颜色。
void setBoundRect(Rect boundRect) 设置移动窗口的边界。
void setInputPanelDisplayType(int type) 设置软输入面板的显示类型。
void setLayoutAlignment(int alignment) 设置窗口的文本对齐方式。
void setLayoutConfig(WindowManager.LayoutConfig param) 设置 Window 实例的 LayoutConfig。
void setLayoutFlags(int flags, int mask) 为窗口设置标志。
void setLayoutInDisplaySideMode(int mode) 设置此窗口侧边栏的显示模式。
void setLayoutInNotchMode(WindowManager.NotchMode mode) 设置此窗口在凹槽中的显示模式。
void setMovable(boolean isMovable) 设置窗口是否可移动。
void setNavigationBarColor(int color) 设置导航栏的颜色。
void setOnApplyComponentPaddingListener(IApplyComponentPaddingListener listener) 设置一个监听器来监控 ComponentPadding 的变化。
void setPadding(int left, int top, int right, int bottom) 按照左、上、右、下的顺序设置窗口的内边距。
void setPixelFormat(int format) 设置此窗口的像素格式。
void setShadowStyle(Component.ShadowSize size, Component.ShadowMode mode, Component.ShadowDevice device) 设置窗口的阴影样式。
void setStatusBarColor(int color) 设置状态栏的颜色。
void setStatusBarVisibility(int visibility) 设置状态栏是否可见。
void setSystemBarStyle(int visibility) 设置导航栏或状态栏的可见性。
void setTransparent(boolean isEnable) 设置是否开启透明。
void setWindowFlags(int flags, int mask) 设置窗口标志。
void setWindowLayout(int width, int height) 设置窗口的大小。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

Window

public Window()

用于创建 Window 实例的构造函数。

此方法也可用于测试。

方法详情

isMovable

public boolean isMovable()

检查窗口是否可移动。

返回:

如果窗口是可移动的,则返回 True; 否则返回 false。

setMovable

public void setMovable(boolean isMovable)

设置窗口是否可移动。

参数:

参数名称 参数描述
isMovable 指示窗口是否可移动。 True 表示可移动; false 表示其他情况。

getBoundRect

public Rect getBoundRect()

获取移动窗口的边界。

返回:

返回窗口的矩形边界。

setBoundRect

public void setBoundRect(Rect boundRect)

设置移动窗口的边界。

参数:

参数名称 参数描述
boundRect 指示窗口的矩形边界。

getLayoutConfig

public OptionalWindowManager.LayoutConfig getLayoutConfig()

获取要读取或修改的 Window 实例的 LayoutConfig 对象。

返回:

返回 Window 实例的当前 WindowManager.LayoutConfig 属性。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setLayoutConfig

public void setLayoutConfig(WindowManager.LayoutConfig param)

设置 Window 实例的 LayoutConfig。

参数:

参数名称 参数描述
param 指示要传递给此方法的参数。 您可以从 getLayoutConfig() 方法获取 LayoutConfig 参数。

Throws:

Throw名称 Throw描述
NullPointerException 如果输入 para 为 null,则引发此异常。

setLayoutAlignment

public void setLayoutAlignment(int alignment)

设置窗口的文本对齐方式。

您可以从 TextAlignment 获取支持的属性。

  • HORIZONTAL_CENTER
  • VERTICAL_CENTER

参数:

参数名称 参数描述
alignment 指示要为窗口设置的对齐属性。

Since:

4

addFlags

public void addFlags(int flags)

添加窗口标志。 您可以从 WindowManager.LayoutConfig 获取当前支持的标志。

参数:

参数名称 参数描述
flags 指示要设置添加的标志。

clearFlags

public void clearFlags(int flags)

从窗口中清除标志。

参数:

参数名称 参数描述
flags 指示要从窗口中清除的标志。

setLayoutFlags

public void setLayoutFlags(int flags, int mask)

为窗口设置标志。

与 addFlags(int flags) 方法不同,此方法使用 attrs.flag &~ 掩码计算清除现有标志,然后设置新标志。

参数:

参数名称 参数描述
flags 指示由 WindowManager.LayoutConfig 指定的新标志。
mask 表示窗口的掩码。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setWindowLayout

public void setWindowLayout(int width, int height)

设置窗口的大小。

参数:

参数名称 参数描述
width 表示窗口的宽度。
height 表示窗口的高度。

setNavigationBarColor

public void setNavigationBarColor(int color)

设置导航栏的颜色。

参数:

参数名称 参数描述
color 指示导航栏的颜色。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setStatusBarColor

public void setStatusBarColor(int color)

设置状态栏的颜色。

参数:

参数名称 参数描述
color 指示状态栏的颜色。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setPadding

public void setPadding(int left, int top, int right, int bottom)

按照左、上、右、下的顺序设置窗口的内边距。

参数:

参数名称 参数描述
left 表示左侧填充。
top 表示顶部填充。
right 指示正确的填充。
bottom 指示底部填充。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setStatusBarVisibility

public void setStatusBarVisibility(int visibility)

设置状态栏是否可见。 Component.INVISIBLE 表示状态栏是不可见的。

参数:

参数名称 参数描述
visibility 指示状态栏是否可见。 Component.VISIBLE 表示可见; Component.INVISIBLE 表示不可见。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

getStatusBarVisibility

public int getStatusBarVisibility()

获取状态栏是否可见。 Component.INVISIBLE 表示状态栏是不可见的。

返回:

如果状态栏可见,则返回 Component.VISIBLE; 如果状态栏不可见,则返回 Component.INVISIBLE。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setSystemBarStyle

public void setSystemBarStyle(int visibility)

设置导航栏或状态栏的可见性。

参数:

参数名称 参数描述
visibility 指示可见性类型。 该值可以是 WindowManager.LayoutConfig#SYSTEM_BAR_HIDE_NAVIGATION_ONCE、WindowManager.LayoutConfig#SYSTEM_BAR_HIDE_STATUS_ONCE、WindowManager.LayoutConfig#SYSTEM_BAR_HIDE_NAVIGATION_AUTO、WindowManager.LayoutConfig#SYSTEM_BAR_HIDE_STATUS_AUTO、WindowManager.LayoutConfig#SYSTEM_BAR_BRIGHT_STATUS 或 WindowManager.LayoutConfig#SYSTEM_BAR_BRIGHT.N

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

getSystemBarStyle

public int getSystemBarStyle()

获取导航栏或状态栏的可见性类型。

返回:

返回可见性类型。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

getCurrentComponentFocus

public OptionalComponent getCurrentComponentFocus()

获取在此窗口中获得焦点的 Component 对象。

返回:

返回在此窗口中获得焦点的 Component 对象。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setBackgroundColor

public void setBackgroundColor(RgbColor rgbColor)

设置窗口的背景颜色。

参数:

参数名称 参数描述
rgbColor 指示窗口颜色的值。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

4

setBackground

public void setBackground(String elementPath)

设置窗口的背景。

参数:

参数名称 参数描述
elementPath 指示窗口背景资源的路径。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

addWindowFlags

public void addWindowFlags(int flags)

在 ohos 中添加窗口的特征标志。 您可以从 WindowManager.LayoutConfig 获取支持的标志。

参数:

参数名称 参数描述
flags 指示要为窗口设置的标志值。

clearWindowFlags

public void clearWindowFlags(int flags)

清除窗口中的标志。

参数:

参数名称 参数描述
flags 指示要清除的窗口标志。

setWindowFlags

public void setWindowFlags(int flags, int mask)

设置窗口标志。

参数:

参数名称 参数描述
flags 指示要设置的窗口标志。
mask 指示要设置的掩码。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setTransparent

public void setTransparent(boolean isEnable)

设置是否开启透明。

参数:

参数名称 参数描述
isEnable 指定是否启用透明度。 True 表示启用透明度,False 表示禁用。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

setOnApplyComponentPaddingListener

public void setOnApplyComponentPaddingListener(IApplyComponentPaddingListener listener)

设置一个监听器来监控 ComponentPadding 的变化。

参数:

参数名称 参数描述
listener IApplyComponentPaddingListener

Throws:

Throw名称 Throw描述
NullPointerException 如果输入参数为空,则抛出此异常。

Since:

5

getLayoutScatter

public LayoutScatter getLayoutScatter()

获取此窗口的布局散点图。

返回:

返回布局散点图。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

5

isActive

public boolean isActive()

检查此窗口是否处于活动状态。

返回:

如果此窗口处于活动状态,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

5

isWCGMode

public boolean isWCGMode()

检查此窗口是否处于广色域 (WCG) 模式。

返回:

如果此窗口处于 WCG 模式,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

5

setPixelFormat

public void setPixelFormat(int format)

设置此窗口的像素格式。

参数:

参数名称 参数描述
format 指示要设置的像素格式。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

5

replicateFrom

public int replicateFrom(WindowManager.LayoutConfig param)

为此窗口设置布局属性。

参数:

参数名称 参数描述
param 指示要设置的布局属性。

返回:

返回更改的属性,如 WindowManager.LayoutConfig#ALTER_LAYOUT 中所述。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

5

setLayoutInDisplaySideMode

public void setLayoutInDisplaySideMode(int mode)

设置此窗口侧边栏的显示模式。 此方法适用于具有超曲面屏幕的智能手机。

参数:

参数名称 参数描述
mode 指示要设置的显示模式。 该值可以是 WindowManager.LayoutConfig#LAYOUT_IN_DISPLAY_SIDE_MODE_DEFAULT、WindowManager.LayoutConfig#LAYOUT_IN_DISPLAY_SIDE_MODE_ALWAYS 或 WindowManager.LayoutConfig#LAYOUT_IN_DISPLAY_SIDE_MODE_NEVER。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

5

setLayoutInNotchMode

public void setLayoutInNotchMode(WindowManager.NotchMode mode)

设置此窗口在凹槽中的显示模式。

参数:

参数名称 参数描述
mode 表示该窗口在槽口中的显示模式。

Since:

6

setAccessibilityEventListener

public void setAccessibilityEventListener(Window.IAccessibilityEventListener listener)

设置可访问性事件的侦听器。

参数:

参数名称 参数描述
listener 指示要设置的侦听器。

Since:

3

setInputPanelDisplayType

public void setInputPanelDisplayType(int type)

设置软输入面板的显示类型。

参数:

参数名称 参数描述
type 指示要设置的显示类型,可以是 WindowManager.LayoutConfig#INPUT_ADJUST_RESIZE、WindowManager.LayoutConfig#INPUT_ADJUST_PAN 或 WindowManager.LayoutConfig#INPUT_ADJUST_NOTHING。

Throws:

Throw名称 Throw描述
NullPointerException 如果 mAgpWindow 为空,则引发此异常。

Since:

4

getAltitude

public float getAltitude()

获取窗口在垂直于手机屏幕方向的高度。

返回:

返回垂直于手机屏幕方向的窗口高度。

Since:

8

setAltitude

public void setAltitude(float altitude)

设置垂直于电话屏幕方向的窗口高度。

参数:

参数名称 参数描述
Indicates 垂直于手机屏幕方向的窗口高度。

Since:

8

setShadowStyle

public void setShadowStyle(Component.ShadowSize size, Component.ShadowMode mode, Component.ShadowDevice device)

设置窗口的阴影样式。

阴影样式是根据输入大小、模式和设备生成的。

参数:

参数名称 参数描述
size 表示阴影大小,在 Component.ShadowSize 中定义。
mode 表示阴影模式,在 Component.ShadowMode 中定义。
device 表示设备类型,在Component.ShadowDevice中定义。

Since:

8