树叶云鸿蒙OS教程:鸿蒙OS Window

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

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/196955.html<

(0)
管理的头像管理
上一篇2025-04-03 16:50
下一篇 2025-04-03 16:51

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注