当前位置: 首页 > news >正文

企业网站颜色选择76人vs猛龙

企业网站颜色选择,76人vs猛龙,浏览有关小城镇建设的网站记录,建设公司上市企业有多少?【高心星出品】 文章目录 ContentSlot的使用使用方法案例运行结果 完整代码 ContentSlot的使用 用于渲染并管理Native层使用C-API创建的组件同时也支持ArkTS创建的NodeContent对象。 支持混合模式开发,当容器是ArkTS组件,子组件在Native侧创建时&#…

【高心星出品】

文章目录

      • ContentSlot的使用
        • 使用方法
        • 案例
          • 运行结果
        • 完整代码

ContentSlot的使用

用于渲染并管理Native层使用C-API创建的组件同时也支持ArkTS创建的NodeContent对象。

支持混合模式开发,当容器是ArkTS组件,子组件在Native侧创建时,推荐使用ContentSlot占位组件。

ContentSlot只是一个语法节点,无通用属性,不参与布局和渲染,所以布局属性是其父容器提供。

使用方法
ContentSlot(content: Content)

这里的content一般提供NodeContent对象,NodeContent对象里面一般放入typenode节点对象,而typenode节点对象可以增加新的typenode节点对象,也可以将@builder全局构建函数转化为ComponentContent加入到typenode对象中,所以ContentSlot的使用结构为:

contentslot---->nodecontent--->typenode--->componentcontent--->@builder全局构建函数
案例

接下来通过一个案例展示使用typenode的appchild来增加子节点,和通过addComponentContent来增加子节点两种方式渲染UI界面的方法。

运行结果

在这里插入图片描述

全局构建函数

生成一个文本布局

interface param {str: stringnum: number
}@Builder
function genitem(p: param) {Text(p.str + p.num).fontSize(24).fontWeight(FontWeight.Bolder)
}

typenode生成线性布局

typenode生成线性布局并且设置相关属性。

// 创建水平线性布局
let row = typeNode.createNode(this.context, 'Row')
// 设置相关属性
row.attribute.width('100%')
row.attribute.backgroundColor(Color.Red)
row.attribute.justifyContent(FlexAlign.SpaceEvenly)
row.attribute.padding(20)
// 初始化
row.initialize()

typenode生成文本组件和按钮组件

// 创建text组件
let text1 = typeNode.createNode(this.context, 'Text')
text1.attribute.fontColor(Color.White).fontWeight(FontWeight.Bolder)
// 初始化文本
text1.initialize('typenode--child1')
// 创建button组件
let button1 = typeNode.createNode(this.context, 'Button')
// 按钮绑定事件  一处文本组件
button1.attribute.onClick(()=>{row.removeChild(text1)
})
// 初始化按钮文本
button1.initialize('typenode--child2')
// 加入线性布局中
row.appendChild(text1)
// 加入线性布局中
row.appendChild(button1)

typenode加入componentcontent

// 生成componentcontent
let buildercontent = new ComponentContent(this.context, wrapBuilder<[param]>(genitem),{ str: 'componentcontent--child', num: 1 } as param, { nestingBuilderSupported: true })
// 创建新的线性布局
let row1 = typeNode.createNode(this.context, 'Row')
row1.attribute.padding(20)
row1.initialize()
// 增加节点
row1.addComponentContent(buildercontent)
// 将两个线性布局加入nodecontent
this.content.addFrameNode(row1)
this.content.addFrameNode(row)

在build函数中显示

build() {Column() {//contentslot---->nodecontent--->typenode--->componentcontent// 使用contentslot方法显示布局ContentSlot(this.content)}.height('100%').width('100%')
}
完整代码
import { ComponentContent, FrameNode, NodeContent, typeNode } from '@kit.ArkUI';interface param {str: stringnum: number
}@Builder
function genitem(p: param) {Text(p.str + p.num).fontSize(24).fontWeight(FontWeight.Bolder)
}@Entry
@Component
struct Nodecontentpage {@State message: string = 'Hello World';private context: UIContext = this.getUIContext()private content: NodeContent = new NodeContent()aboutToAppear(): void {// 创建水平线性布局let row = typeNode.createNode(this.context, 'Row')// 设置相关属性row.attribute.width('100%')row.attribute.backgroundColor(Color.Red)row.attribute.justifyContent(FlexAlign.SpaceEvenly)row.attribute.padding(20)// 初始化row.initialize()// 创建text组件let text1 = typeNode.createNode(this.context, 'Text')text1.attribute.fontColor(Color.White).fontWeight(FontWeight.Bolder)// 初始化文本text1.initialize('typenode--child1')// 创建button组件let button1 = typeNode.createNode(this.context, 'Button')// 按钮绑定事件  一处文本组件button1.attribute.onClick(()=>{row.removeChild(text1)})// 初始化按钮文本button1.initialize('typenode--child2')// 加入线性布局中row.appendChild(text1)// 加入线性布局中row.appendChild(button1)// 生成componentcontentlet buildercontent = new ComponentContent(this.context, wrapBuilder<[param]>(genitem),{ str: 'componentcontent--child', num: 1 } as param, { nestingBuilderSupported: true })// 创建新的线性布局let row1 = typeNode.createNode(this.context, 'Row')row1.attribute.padding(20)row1.initialize()// 增加节点row1.addComponentContent(buildercontent)// 将两个线性布局加入nodecontentthis.content.addFrameNode(row1)this.content.addFrameNode(row)}build() {Column() {//contentslot---->nodecontent--->typenode--->componentcontent// 使用contentslot方法显示布局ContentSlot(this.content)}.height('100%').width('100%')}
}//contentslot---->nodecontent--->typenode--->componentcontent// 使用contentslot方法显示布局ContentSlot(this.content)}.height('100%').width('100%')}
}
http://www.zhongyajixie.com/news/59166.html

相关文章:

  • 欧美只做les 网站市场营销十大经典案例
  • 网站计数器代码js东莞网站建设平台
  • 这么做介绍网站的ppt2023年新闻摘抄十条
  • 网站静态页面网站系统
  • 做网站一个月30ip市场推广计划书
  • 网站建设售后报价yahoo搜索
  • 网站建设 软文长沙百度快速优化
  • 怎么进行网站建设产品推广方式有哪些
  • 做公务员试题比较好的网站怎么在网上做推广
  • hao123网址怎么删除湖南seo优化推荐
  • 重庆免费做网站大连网站推广
  • 长春市星宿科技网站建设公司怎么样广东又出现新病毒
  • 做网站该读啥学校百度竞价搜索
  • 中邮保险网站伊春seo
  • wordpress占用cpu广西关键词优化公司
  • 西乡做网站的公司爱站网关键词挖掘
  • 武汉网站开发招聘佛山百度关键词seo外包
  • 网站建设 软件开发的公司排名朋友圈推广
  • 网站后台文章编辑不了最权威的品牌排行榜网站
  • wordpress下载资源站主题成都关键词快速排名
  • 中山做网站seo顾问收费
  • 图书购物网站开发总结免费建自己的网址
  • 网站备案审查n127网推广
  • 做淘宝联盟网站用数据库吗百度识别图片找图
  • 项目建设资金来源网站seo也成搜索引擎优化
  • 建设工程公司岗位职责网奇seo培训官网
  • 大连做网站优化哪家好可以免费打广告的网站
  • Linux主机设置网站首页百度广告位价格表
  • 90做网站宁波seo公司网站推广
  • 黑客零基础入门扬州网络优化推广