2.4「HarmonyOS鴻蒙開發」堆疊佈局StackLayout

作者:韓茹

公司:程式咖(北京)科技有限公司

鴻蒙巴士專欄作家

StackLayout直接在螢幕上開闢出一塊空白的區域,

新增到這個佈局中的檢視都是以層疊的方式顯示

,而它會把這些檢視預設放到這塊區域的左上角,第一個新增到佈局中檢視顯示在最底層,最後一個被放在最頂層。上一層的檢視會覆蓋下一層的檢視。因此該佈局叫做堆疊佈局。 它很自由,無論你放多少個元件進去他都是從左上角開始計算,所以你可以用layout_alignment和margin做出隨心所欲的佈局。

2.4「HarmonyOS鴻蒙開發」堆疊佈局StackLayout

一、支援的XML屬性

StackLayout無自有的XML屬性,共有XML屬性繼承自:Component

屬性名稱

中文描述

取值

取值說明

使用案例

id

控制元件identity,用以識別不同控制元件物件,每個控制元件唯一

integer型別

僅可用於配置控制元件的id。

ohos:id=“$+id:component_id”

theme

樣式

引用

僅可引用pattern資源。

ohos:theme=“$pattern:button_pattern”

width

寬度,必填項

float型別,match_parent,match_content

ohos:width=“20”

ohos:width=“10vp”

ohos:width=“$float:size_value”

height

高度,必填項

float型別,match_parent,match_content

ohos:height=“20” ohos:height=“20vp” ohos:height=“$float:size_value”

min_width

最小寬度

float型別

ohos:min_width=“20”

ohos:min_width=“20vp”

ohos:min_width=“$float:size_value”

min_height

最小高度

float型別

ohos:min_height=“20”

ohos:min_height=“20vp”

ohos:min_height=“$float:size_value”

alpha

透明度

float型別

取值範圍在0~1。

ohos:alpha=“0。86”

ohos:alpha=“$float:value”

enabled

是否啟用

boolean型別

ohos:enabled=“true”

ohos:enabled=“$boolean:true”

visibility

可見性

visible,invisible,hide

ohos:visibility=“visible”

padding

內間距

float型別

margin

外邊距

float型別

StackLayout所包含元件可支援的XML屬性見下表:

表1

StackLayout所包含元件可支援的XML屬性

屬性名稱

中文描述

取值

取值說明

使用案例

layout_alignment

對齊方式

left

表示左對齊。

可以設定取值項如表中所列,

也可以使用“|”進行多項組合。ohos:layout_alignment=“top”

ohos:layout_alignment=“top|left”

top

表示頂部對齊。

right

表示右對齊。

bottom

表示底部對齊。

horizontal_center

表示水平居中對齊。

vertical_center

表示垂直居中對齊。

center

表示居中對齊。

二、排列方式

2。1 使用預設佈局新增元件

StackLayout,一層一層。每個子控制元件,預設從左上角開始顯示,離父容器的宣告標籤越近,越位於底層。也就是說,越在後面宣告的控制元件,越在上層。

示例程式碼:

<?xml version=“1。0” encoding=“utf-8”?>            

效果圖:

2.4「HarmonyOS鴻蒙開發」堆疊佈局StackLayout

示例程式碼:

<?xml version=“1。0” encoding=“utf-8”?>                

效果圖:

2.4「HarmonyOS鴻蒙開發」堆疊佈局StackLayout

2。2 使用相對位置新增元件

使用layout_alignment屬性可以指定元件在StackLayout中的相對位置

示例程式碼:

<?xml version=“1。0” encoding=“utf-8”?>