鸿蒙OS开发文档 鸿蒙OS Window

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 6

Window

java.lang.Object
|---ohos.agp.window.service.Window

public class Window
extends Object

windows 的实现类。

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

Since:

2

嵌套类摘要

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

构造函数摘要

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

方法总结

修饰符和类型方法描述
voidaddFlags(int flags)添加窗口标志。
voidaddWindowFlags(int flags)在 ohos 中添加窗口的特征标志。
voidclearFlags(int flags)从窗口中清除标志。
voidclearWindowFlags(int flags)清除窗口中的标志。
floatgetAltitude()获取窗口在垂直于手机屏幕方向的高度。
RectgetBoundRect()获取移动窗口的边界。
OptionalComponentgetCurrentComponentFocus()获取在此窗口中获得焦点的 Component 对象。
OptionalWindowManager.LayoutConfiggetLayoutConfig()获取要读取或修改的 Window 实例的 LayoutConfig 对象。
LayoutScattergetLayoutScatter()获取此窗口的布局散点图。
intgetStatusBarVisibility()获取状态栏是否可见。
intgetSystemBarStyle()获取导航栏或状态栏的可见性类型。
booleanisActive()检查此窗口是否处于活动状态。
booleanisMovable()检查窗口是否可移动。
booleanisWCGMode()检查此窗口是否处于广色域 (WCG) 模式。
intreplicateFrom(WindowManager.LayoutConfig param)为此窗口设置布局属性。
voidsetAccessibilityEventListener(Window.IAccessibilityEventListener listener)设置可访问性事件的侦听器。
voidsetAltitude(float altitude)设置垂直于电话屏幕方向的窗口高度。
voidsetBackground(String elementPath)设置窗口的背景。
voidsetBackgroundColor(RgbColor rgbColor)设置窗口的背景颜色。
voidsetBoundRect(Rect boundRect)设置移动窗口的边界。
voidsetInputPanelDisplayType(int type)设置软输入面板的显示类型。
voidsetLayoutAlignment(int alignment)设置窗口的文本对齐方式。
voidsetLayoutConfig(WindowManager.LayoutConfig param)设置 Window 实例的 LayoutConfig。
voidsetLayoutFlags(int flags, int mask)为窗口设置标志。
voidsetLayoutInDisplaySideMode(int mode)设置此窗口侧边栏的显示模式。
voidsetLayoutInNotchMode(WindowManager.NotchMode mode)设置此窗口在凹槽中的显示模式。
voidsetMovable(boolean isMovable)设置窗口是否可移动。
voidsetNavigationBarColor(int color)设置导航栏的颜色。
voidsetOnApplyComponentPaddingListener(IApplyComponentPaddingListener listener)设置一个监听器来监控 ComponentPadding 的变化。
voidsetPadding(int left, int top, int right, int bottom)按照左、上、右、下的顺序设置窗口的内边距。
voidsetPixelFormat(int format)设置此窗口的像素格式。
voidsetShadowStyle(Component.ShadowSize size, Component.ShadowMode mode, Component.ShadowDevice device)设置窗口的阴影样式。
voidsetStatusBarColor(int color)设置状态栏的颜色。
voidsetStatusBarVisibility(int visibility)设置状态栏是否可见。
voidsetSystemBarStyle(int visibility)设置导航栏或状态栏的可见性。
voidsetTransparent(boolean isEnable)设置是否开启透明。
voidsetWindowFlags(int flags, int mask)设置窗口标志。
voidsetWindowLayout(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 的变化。

参数:

参数名称参数描述
listenerIApplyComponentPaddingListener

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