W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
XM L聲明布局的方式更加簡便直觀。每一個 Component 和 ComponentContainer 對象大部分屬性都支持在 XML 中進(jìn)行設(shè)置,它們都有各自的 XML 屬性列表。某些屬性僅適用于特定的組件,例如:只有Text支持“text_color”屬性,但不支持該屬性的組件如果添加了該屬性,該屬性則會被忽略。具有繼承關(guān)系的組件子類將繼承父類的屬性列表,Component 作為組件的基類,擁有各個組件常用的屬性,比如:ID、布局參數(shù)等。
ID
ohos:id="$+id:text"
在 XML 中使用此格式聲明一個對開發(fā)者友好的 ID,它會在編譯過程中轉(zhuǎn)換成一個常量。尤其在 DependentLayout 布局中,組件之間需要描述相對位置關(guān)系,描述時要通過 ID 來指定對應(yīng)組件。
布局中的組件通常要設(shè)置獨(dú)立的 ID,以便在程序中查找該組件。如果布局中有不同組件設(shè)置了相同的 ID,在通過 ID 查找組件時會返回查找到的第一個組件,因此盡量保證在所要查找的布局中為組件設(shè)置獨(dú)立的 ID 值,避免出現(xiàn)與預(yù)期不符合的問題。
布局參數(shù)
ohos:width="20vp"
ohos:height="10vp"
與代碼中設(shè)置組件的寬度和高度類似,在 XML 中它們的取值可以是:
更多的組件屬性列表可參考組件的 XML 屬性文檔。
圖1 設(shè)置 Directory 名稱
圖2 設(shè)置File名稱
打開新創(chuàng)建的 first_layout.xml 布局文件,修改其中的內(nèi)容,對布局和組件的屬性和層級進(jìn)行描述。
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:width="match_parent"
ohos:height="match_parent"
ohos:orientation="vertical"
ohos:padding="32">
<Text
ohos:id="$+id:text"
ohos:width="match_content"
ohos:height="match_content"
ohos:layout_alignment="horizontal_center"
ohos:text="My name is Text."
ohos:text_size="25vp"/>
<Button
ohos:id="$+id:button"
ohos:width="match_content"
ohos:height="match_content"
ohos:layout_alignment="horizontal_center"
ohos:text="My name is Button."
ohos:text_size="50"/>
</DirectionalLayout>
在代碼中需要加載 XML 布局,并添加為根布局或作為其他布局的子 Component。
@Override
public void onStart(Intent intent) {
super.onStart(intent);
// 加載XML布局作為根布局
super.setUIContent(ResourceTable.Layout_first_layout);
// 查找布局中組件
Button button = (Button) findComponentById(ResourceTable.Id_button);
if (button != null) {
// 設(shè)置組件的屬性
ShapeElement background = new ShapeElement();
background.setRgbColor(new RgbColor(0,125,255));
background.setCornerRadius(25);
button.setBackground(background);
button.setClickedListener(new Component.ClickedListener() {
@Override
// 在組件中增加對點(diǎn)擊事件的檢測
public void onClick(Component Component) {
// 此處添加按鈕被點(diǎn)擊需要執(zhí)行的操作
}
});
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: