鸿蒙OS Window
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