树叶云鸿蒙OS教程:鸿蒙OS 组件与布局XML创建布局

XM L声明布局的方式更加简便直观。每一个 Component 和 ComponentContainer 对象大部分属性都支持在 XML 中进行设置,它们都有各自的 XML 属性列表。某些属性仅适用于特定的组件,例如:只有Text支持“text_color”属性,但不支持该属性的组件如果添加了该属性,该属性则会被忽略。具有继承关系的组件子类将继承父类的属性列表,Component 作为组件的基类,拥有各个组件常用的属性,比如:ID、布局参数等。

ID

ohos:id="$+id:text"

在 XML 中使用此格式声明一个对开发者友好的 ID,它会在编译过程中转换成一个常量。尤其在 DependentLayout 布局中,组件之间需要描述相对位置关系,描述时要通过 ID 来指定对应组件。

布局中的组件通常要设置独立的 ID,以便在程序中查找该组件。如果布局中有不同组件设置了相同的 ID,在通过 ID 查找组件时会返回查找到的第一个组件,因此尽量保证在所要查找的布局中为组件设置独立的 ID 值,避免出现与预期不符合的问题。

布局参数

ohos:width="20vp"
ohos:height="10vp"

与代码中设置组件的宽度和高度类似,在 XML 中它们的取值可以是:

  • 具体的数值:10(以像素为单位)、10vp(以屏幕相对像素为单位)。
  • MATCH_PARENT:表示组件大小将扩展为父组件允许的最大值,它将占据父组件方向上的剩余大小,在 XML 中用“match_parent”表示。
  • MATCH_CONTENT:表示组件大小与它的内容占据的大小范围相适应,在 XML 中用数值“match_content”表示。

更多的组件属性列表可参考组件的 XML 属性文档。

创建XML布局文件

  1. 在 DevEco Studio 的 “Project” 窗口,打开 “entry > src > main > resources > base”,右键点击“base”文件夹,选择“New > Directory”,命名为“layout”。

图1 设置 Directory 名称

  1. 右键点击“layout”文件夹,选择“New > File”,命名为“first_layout.xml”。

图2 设置File名称

修改XML布局文件

打开新创建的 first_layout.xml 布局文件,修改其中的内容,对布局和组件的属性和层级进行描述。

<?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布局

在代码中需要加载 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) {
        // 设置组件的属性
        ShapeElement background = new ShapeElement();
        background.setRgbColor(new RgbColor(0,125,255));
        background.setCornerRadius(25);
        button.setBackground(background);

        
        button.setClickedListener(new Component.ClickedListener() { 
            @Override 
            // 在组件中增加对点击事件的检测 
            public void onClick(Component Component) { 
                // 此处添加按钮被点击需要执行的操作
            } 
        });
    }
}

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/192929.html<

(0)
运维的头像运维
上一篇2025-04-01 19:50
下一篇 2025-04-01 19:51

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注