鴻蒙OS Window

2022-10-10 10:26 更新

Window

java.lang.Object

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

  1. public class Window
  2. extends Object

windows 的實現(xiàn)類。

該類提供了基于 LayoutConfig 修改窗口屬性的方法。

Since:

2

嵌套類摘要

修飾符和類型 描述
static interface Window.IAccessibilityEventListener 填充可訪問性事件偵聽器的實現(xiàn)類。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
Window() 用于創(chuàng)建 Window 實例的構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類型 方法 描述
void addFlags(int flags) 添加窗口標(biāo)志。
void addWindowFlags(int flags) 在 ohos 中添加窗口的特征標(biāo)志。
void clearFlags(int flags) 從窗口中清除標(biāo)志。
void clearWindowFlags(int flags) 清除窗口中的標(biāo)志。
float getAltitude() 獲取窗口在垂直于手機(jī)屏幕方向的高度。
Rect getBoundRect() 獲取移動窗口的邊界。
OptionalComponent getCurrentComponentFocus() 獲取在此窗口中獲得焦點的 Component 對象。
OptionalWindowManager.LayoutConfig getLayoutConfig() 獲取要讀取或修改的 Window 實例的 LayoutConfig 對象。
LayoutScatter getLayoutScatter() 獲取此窗口的布局散點圖。
int getStatusBarVisibility() 獲取狀態(tài)欄是否可見。
int getSystemBarStyle() 獲取導(dǎo)航欄或狀態(tài)欄的可見性類型。
boolean isActive() 檢查此窗口是否處于活動狀態(tài)。
boolean isMovable() 檢查窗口是否可移動。
boolean isWCGMode() 檢查此窗口是否處于廣色域 (WCG) 模式。
int replicateFrom(WindowManager.LayoutConfig param) 為此窗口設(shè)置布局屬性。
void setAccessibilityEventListener(Window.IAccessibilityEventListener listener) 設(shè)置可訪問性事件的偵聽器。
void setAltitude(float altitude) 設(shè)置垂直于電話屏幕方向的窗口高度。
void setBackground(String elementPath) 設(shè)置窗口的背景。
void setBackgroundColor(RgbColor rgbColor) 設(shè)置窗口的背景顏色。
void setBoundRect(Rect boundRect) 設(shè)置移動窗口的邊界。
void setInputPanelDisplayType(int type) 設(shè)置軟輸入面板的顯示類型。
void setLayoutAlignment(int alignment) 設(shè)置窗口的文本對齊方式。
void setLayoutConfig(WindowManager.LayoutConfig param) 設(shè)置 Window 實例的 LayoutConfig。
void setLayoutFlags(int flags, int mask) 為窗口設(shè)置標(biāo)志。
void setLayoutInDisplaySideMode(int mode) 設(shè)置此窗口側(cè)邊欄的顯示模式。
void setLayoutInNotchMode(WindowManager.NotchMode mode) 設(shè)置此窗口在凹槽中的顯示模式。
void setMovable(boolean isMovable) 設(shè)置窗口是否可移動。
void setNavigationBarColor(int color) 設(shè)置導(dǎo)航欄的顏色。
void setOnApplyComponentPaddingListener(IApplyComponentPaddingListener listener) 設(shè)置一個監(jiān)聽器來監(jiān)控 ComponentPadding 的變化。
void setPadding(int left, int top, int right, int bottom) 按照左、上、右、下的順序設(shè)置窗口的內(nèi)邊距。
void setPixelFormat(int format) 設(shè)置此窗口的像素格式。
void setShadowStyle(Component.ShadowSize size, Component.ShadowMode mode, Component.ShadowDevice device) 設(shè)置窗口的陰影樣式。
void setStatusBarColor(int color) 設(shè)置狀態(tài)欄的顏色。
void setStatusBarVisibility(int visibility) 設(shè)置狀態(tài)欄是否可見。
void setSystemBarStyle(int visibility) 設(shè)置導(dǎo)航欄或狀態(tài)欄的可見性。
void setTransparent(boolean isEnable) 設(shè)置是否開啟透明。
void setWindowFlags(int flags, int mask) 設(shè)置窗口標(biāo)志。
void setWindowLayout(int width, int height) 設(shè)置窗口的大小。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

Window

public Window()

用于創(chuàng)建 Window 實例的構(gòu)造函數(shù)。

此方法也可用于測試。

方法詳情

isMovable

public boolean isMovable()

檢查窗口是否可移動。

返回:

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

setMovable

public void setMovable(boolean isMovable)

設(shè)置窗口是否可移動。

參數(shù):

參數(shù)名稱 參數(shù)描述
isMovable 指示窗口是否可移動。 True 表示可移動; false 表示其他情況。

getBoundRect

public Rect getBoundRect()

獲取移動窗口的邊界。

返回:

返回窗口的矩形邊界。

setBoundRect

public void setBoundRect(Rect boundRect)

設(shè)置移動窗口的邊界。

參數(shù):

參數(shù)名稱 參數(shù)描述
boundRect 指示窗口的矩形邊界。

getLayoutConfig

public OptionalWindowManager.LayoutConfig getLayoutConfig()

獲取要讀取或修改的 Window 實例的 LayoutConfig 對象。

返回:

返回 Window 實例的當(dāng)前 WindowManager.LayoutConfig 屬性。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setLayoutConfig

public void setLayoutConfig(WindowManager.LayoutConfig param)

設(shè)置 Window 實例的 LayoutConfig。

參數(shù):

參數(shù)名稱 參數(shù)描述
param 指示要傳遞給此方法的參數(shù)。 您可以從 getLayoutConfig() 方法獲取 LayoutConfig 參數(shù)。

Throws:

Throw名稱 Throw描述
NullPointerException 如果輸入 para 為 null,則引發(fā)此異常。

setLayoutAlignment

public void setLayoutAlignment(int alignment)

設(shè)置窗口的文本對齊方式。

您可以從 TextAlignment 獲取支持的屬性。

  • HORIZONTAL_CENTER
  • VERTICAL_CENTER

參數(shù):

參數(shù)名稱 參數(shù)描述
alignment 指示要為窗口設(shè)置的對齊屬性。

Since:

4

addFlags

public void addFlags(int flags)

添加窗口標(biāo)志。 您可以從 WindowManager.LayoutConfig 獲取當(dāng)前支持的標(biāo)志。

參數(shù):

參數(shù)名稱 參數(shù)描述
flags 指示要設(shè)置添加的標(biāo)志。

clearFlags

public void clearFlags(int flags)

從窗口中清除標(biāo)志。

參數(shù):

參數(shù)名稱 參數(shù)描述
flags 指示要從窗口中清除的標(biāo)志。

setLayoutFlags

public void setLayoutFlags(int flags, int mask)

為窗口設(shè)置標(biāo)志。

與 addFlags(int flags) 方法不同,此方法使用 attrs.flag &~ 掩碼計算清除現(xiàn)有標(biāo)志,然后設(shè)置新標(biāo)志。

參數(shù):

參數(shù)名稱 參數(shù)描述
flags 指示由 WindowManager.LayoutConfig 指定的新標(biāo)志。
mask 表示窗口的掩碼。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setWindowLayout

public void setWindowLayout(int width, int height)

設(shè)置窗口的大小。

參數(shù):

參數(shù)名稱 參數(shù)描述
width 表示窗口的寬度。
height 表示窗口的高度。

setNavigationBarColor

public void setNavigationBarColor(int color)

設(shè)置導(dǎo)航欄的顏色。

參數(shù):

參數(shù)名稱 參數(shù)描述
color 指示導(dǎo)航欄的顏色。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setStatusBarColor

public void setStatusBarColor(int color)

設(shè)置狀態(tài)欄的顏色。

參數(shù):

參數(shù)名稱 參數(shù)描述
color 指示狀態(tài)欄的顏色。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setPadding

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

按照左、上、右、下的順序設(shè)置窗口的內(nèi)邊距。

參數(shù):

參數(shù)名稱 參數(shù)描述
left 表示左側(cè)填充。
top 表示頂部填充。
right 指示正確的填充。
bottom 指示底部填充。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setStatusBarVisibility

public void setStatusBarVisibility(int visibility)

設(shè)置狀態(tài)欄是否可見。 Component.INVISIBLE 表示狀態(tài)欄是不可見的。

參數(shù):

參數(shù)名稱 參數(shù)描述
visibility 指示狀態(tài)欄是否可見。 Component.VISIBLE 表示可見; Component.INVISIBLE 表示不可見。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

getStatusBarVisibility

public int getStatusBarVisibility()

獲取狀態(tài)欄是否可見。 Component.INVISIBLE 表示狀態(tài)欄是不可見的。

返回:

如果狀態(tài)欄可見,則返回 Component.VISIBLE; 如果狀態(tài)欄不可見,則返回 Component.INVISIBLE。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setSystemBarStyle

public void setSystemBarStyle(int visibility)

設(shè)置導(dǎo)航欄或狀態(tài)欄的可見性。

參數(shù):

參數(shù)名稱 參數(shù)描述
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 為空,則引發(fā)此異常。

getSystemBarStyle

public int getSystemBarStyle()

獲取導(dǎo)航欄或狀態(tài)欄的可見性類型。

返回:

返回可見性類型。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

getCurrentComponentFocus

public OptionalComponent getCurrentComponentFocus()

獲取在此窗口中獲得焦點的 Component 對象。

返回:

返回在此窗口中獲得焦點的 Component 對象。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setBackgroundColor

public void setBackgroundColor(RgbColor rgbColor)

設(shè)置窗口的背景顏色。

參數(shù):

參數(shù)名稱 參數(shù)描述
rgbColor 指示窗口顏色的值。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

4

setBackground

public void setBackground(String elementPath)

設(shè)置窗口的背景。

參數(shù):

參數(shù)名稱 參數(shù)描述
elementPath 指示窗口背景資源的路徑。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

addWindowFlags

public void addWindowFlags(int flags)

在 ohos 中添加窗口的特征標(biāo)志。 您可以從 WindowManager.LayoutConfig 獲取支持的標(biāo)志。

參數(shù):

參數(shù)名稱 參數(shù)描述
flags 指示要為窗口設(shè)置的標(biāo)志值。

clearWindowFlags

public void clearWindowFlags(int flags)

清除窗口中的標(biāo)志。

參數(shù):

參數(shù)名稱 參數(shù)描述
flags 指示要清除的窗口標(biāo)志。

setWindowFlags

public void setWindowFlags(int flags, int mask)

設(shè)置窗口標(biāo)志。

參數(shù):

參數(shù)名稱 參數(shù)描述
flags 指示要設(shè)置的窗口標(biāo)志。
mask 指示要設(shè)置的掩碼。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setTransparent

public void setTransparent(boolean isEnable)

設(shè)置是否開啟透明。

參數(shù):

參數(shù)名稱 參數(shù)描述
isEnable 指定是否啟用透明度。 True 表示啟用透明度,F(xiàn)alse 表示禁用。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

setOnApplyComponentPaddingListener

public void setOnApplyComponentPaddingListener(IApplyComponentPaddingListener listener)

設(shè)置一個監(jiān)聽器來監(jiān)控 ComponentPadding 的變化。

參數(shù):

參數(shù)名稱 參數(shù)描述
listener IApplyComponentPaddingListener

Throws:

Throw名稱 Throw描述
NullPointerException 如果輸入?yún)?shù)為空,則拋出此異常。

Since:

5

getLayoutScatter

public LayoutScatter getLayoutScatter()

獲取此窗口的布局散點圖。

返回:

返回布局散點圖。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

5

isActive

public boolean isActive()

檢查此窗口是否處于活動狀態(tài)。

返回:

如果此窗口處于活動狀態(tài),則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

5

isWCGMode

public boolean isWCGMode()

檢查此窗口是否處于廣色域 (WCG) 模式。

返回:

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

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

5

setPixelFormat

public void setPixelFormat(int format)

設(shè)置此窗口的像素格式。

參數(shù):

參數(shù)名稱 參數(shù)描述
format 指示要設(shè)置的像素格式。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

5

replicateFrom

public int replicateFrom(WindowManager.LayoutConfig param)

為此窗口設(shè)置布局屬性。

參數(shù):

參數(shù)名稱 參數(shù)描述
param 指示要設(shè)置的布局屬性。

返回:

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

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

5

setLayoutInDisplaySideMode

public void setLayoutInDisplaySideMode(int mode)

設(shè)置此窗口側(cè)邊欄的顯示模式。 此方法適用于具有超曲面屏幕的智能手機(jī)。

參數(shù):

參數(shù)名稱 參數(shù)描述
mode 指示要設(shè)置的顯示模式。 該值可以是 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 為空,則引發(fā)此異常。

Since:

5

setLayoutInNotchMode

public void setLayoutInNotchMode(WindowManager.NotchMode mode)

設(shè)置此窗口在凹槽中的顯示模式。

參數(shù):

參數(shù)名稱 參數(shù)描述
mode 表示該窗口在槽口中的顯示模式。

Since:

6

setAccessibilityEventListener

public void setAccessibilityEventListener(Window.IAccessibilityEventListener listener)

設(shè)置可訪問性事件的偵聽器。

參數(shù):

參數(shù)名稱 參數(shù)描述
listener 指示要設(shè)置的偵聽器。

Since:

3

setInputPanelDisplayType

public void setInputPanelDisplayType(int type)

設(shè)置軟輸入面板的顯示類型。

參數(shù):

參數(shù)名稱 參數(shù)描述
type 指示要設(shè)置的顯示類型,可以是 WindowManager.LayoutConfig#INPUT_ADJUST_RESIZE、WindowManager.LayoutConfig#INPUT_ADJUST_PAN 或 WindowManager.LayoutConfig#INPUT_ADJUST_NOTHING。

Throws:

Throw名稱 Throw描述
NullPointerException 如果 mAgpWindow 為空,則引發(fā)此異常。

Since:

4

getAltitude

public float getAltitude()

獲取窗口在垂直于手機(jī)屏幕方向的高度。

返回:

返回垂直于手機(jī)屏幕方向的窗口高度。

Since:

8

setAltitude

public void setAltitude(float altitude)

設(shè)置垂直于電話屏幕方向的窗口高度。

參數(shù):

參數(shù)名稱 參數(shù)描述
Indicates 垂直于手機(jī)屏幕方向的窗口高度。

Since:

8

setShadowStyle

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

設(shè)置窗口的陰影樣式。

陰影樣式是根據(jù)輸入大小、模式和設(shè)備生成的。

參數(shù):

參數(shù)名稱 參數(shù)描述
size 表示陰影大小,在 Component.ShadowSize 中定義。
mode 表示陰影模式,在 Component.ShadowMode 中定義。
device 表示設(shè)備類型,在Component.ShadowDevice中定義。

Since:

8

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號