鴻蒙OS Window

2022-10-10 10:26 更新

Window

java.lang.Object

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

public class Window
extends Object

windows 的實現(xiàn)類。

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

Since:

2

嵌套類摘要

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

構造函數(shù)摘要

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

方法總結

修飾符和類型 方法 描述
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() 獲取狀態(tài)欄是否可見。
int getSystemBarStyle() 獲取導航欄或狀態(tài)欄的可見性類型。
boolean isActive() 檢查此窗口是否處于活動狀態(tài)。
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) 設置一個監(jiān)聽器來監(jiān)控 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) 設置狀態(tài)欄的顏色。
void setStatusBarVisibility(int visibility) 設置狀態(tài)欄是否可見。
void setSystemBarStyle(int visibility) 設置導航欄或狀態(tài)欄的可見性。
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

構造函數(shù)詳細信息

Window

public Window()

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

此方法也可用于測試。

方法詳情

isMovable

public boolean isMovable()

檢查窗口是否可移動。

返回:

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

setMovable

public void setMovable(boolean isMovable)

設置窗口是否可移動。

參數(shù):

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

getBoundRect

public Rect getBoundRect()

獲取移動窗口的邊界。

返回:

返回窗口的矩形邊界。

setBoundRect

public void setBoundRect(Rect boundRect)

設置移動窗口的邊界。

參數(shù):

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

getLayoutConfig

public OptionalWindowManager.LayoutConfig getLayoutConfig()

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

返回:

返回 Window 實例的當前 WindowManager.LayoutConfig 屬性。

Throws:

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

setLayoutConfig

public void setLayoutConfig(WindowManager.LayoutConfig param)

設置 Window 實例的 LayoutConfig。

參數(shù):

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

Throws:

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

setLayoutAlignment

public void setLayoutAlignment(int alignment)

設置窗口的文本對齊方式。

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

  • HORIZONTAL_CENTER
  • VERTICAL_CENTER

參數(shù):

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

Since:

4

addFlags

public void addFlags(int flags)

添加窗口標志。 您可以從 WindowManager.LayoutConfig 獲取當前支持的標志。

參數(shù):

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

clearFlags

public void clearFlags(int flags)

從窗口中清除標志。

參數(shù):

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

setLayoutFlags

public void setLayoutFlags(int flags, int mask)

為窗口設置標志。

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

參數(shù):

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

Throws:

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

setWindowLayout

public void setWindowLayout(int width, int height)

設置窗口的大小。

參數(shù):

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

setNavigationBarColor

public void setNavigationBarColor(int color)

設置導航欄的顏色。

參數(shù):

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

Throws:

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

setStatusBarColor

public void setStatusBarColor(int color)

設置狀態(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ù):

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

Throws:

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

setStatusBarVisibility

public void setStatusBarVisibility(int visibility)

設置狀態(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)

設置導航欄或狀態(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()

獲取導航欄或狀態(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ù)描述
rgbColor 指示窗口顏色的值。

Throws:

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

Since:

4

setBackground

public void setBackground(String elementPath)

設置窗口的背景。

參數(shù):

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

Throws:

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

addWindowFlags

public void addWindowFlags(int flags)

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

參數(shù):

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

clearWindowFlags

public void clearWindowFlags(int flags)

清除窗口中的標志。

參數(shù):

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

setWindowFlags

public void setWindowFlags(int flags, int mask)

設置窗口標志。

參數(shù):

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

Throws:

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

setTransparent

public void setTransparent(boolean isEnable)

設置是否開啟透明。

參數(shù):

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

Throws:

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

setOnApplyComponentPaddingListener

public void setOnApplyComponentPaddingListener(IApplyComponentPaddingListener listener)

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

參數(shù):

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

Throws:

Throw名稱 Throw描述
NullPointerException 如果輸入參數(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ù)描述
format 指示要設置的像素格式。

Throws:

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

Since:

5

replicateFrom

public int replicateFrom(WindowManager.LayoutConfig param)

為此窗口設置布局屬性。

參數(shù):

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

返回:

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

Throws:

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

Since:

5

setLayoutInDisplaySideMode

public void setLayoutInDisplaySideMode(int mode)

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

參數(shù):

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

Since:

5

setLayoutInNotchMode

public void setLayoutInNotchMode(WindowManager.NotchMode mode)

設置此窗口在凹槽中的顯示模式。

參數(shù):

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

Since:

6

setAccessibilityEventListener

public void setAccessibilityEventListener(Window.IAccessibilityEventListener listener)

設置可訪問性事件的偵聽器。

參數(shù):

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

Since:

3

setInputPanelDisplayType

public void setInputPanelDisplayType(int type)

設置軟輸入面板的顯示類型。

參數(shù):

參數(shù)名稱 參數(shù)描述
type 指示要設置的顯示類型,可以是 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()

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

返回:

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

Since:

8

setAltitude

public void setAltitude(float altitude)

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

參數(shù):

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

Since:

8

setShadowStyle

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

設置窗口的陰影樣式。

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

參數(shù):

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

Since:

8

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號