中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

如何管理網(wǎng)站端口掃描站長工具

如何管理網(wǎng)站,端口掃描站長工具,專業(yè)柳州網(wǎng)站建設推薦,網(wǎng)頁中的基本元素有哪些第一個ArkTS項目實踐-ArkTS 第一個ArkTS項目實踐-ArkTS自定義組件的組成配置屬性與布局配置屬性布局 改變組件狀態(tài)循環(huán)渲染列表數(shù)據(jù)代碼ToDoItem組件ToDoList頁面 效果參考資料 第一個ArkTS項目實踐-ArkTS 本篇文章是官網(wǎng)上視頻對ArkTS開發(fā)實踐的第一個視頻,主要是引…

第一個ArkTS項目實踐-ArkTS

  • 第一個ArkTS項目實踐-ArkTS
    • 自定義組件的組成
    • 配置屬性與布局
      • 配置屬性
      • 布局
    • 改變組件狀態(tài)
    • 循環(huán)渲染列表數(shù)據(jù)
    • 代碼
      • ToDoItem組件
      • ToDoList頁面
    • 效果
    • 參考資料

第一個ArkTS項目實踐-ArkTS

本篇文章是官網(wǎng)上視頻對ArkTS開發(fā)實踐的第一個視頻,主要是引導大家對ArkTS的一個了解。

開發(fā)文檔官網(wǎng)

在這里插入圖片描述

自定義組件的組成

ArkTS通過struct聲明組件名,并通過@Component和@Entry裝飾器,來構成一個自定義組件。

使用@Entry和@Component裝飾的自定義組件作為頁面的入口,會在頁面加載時首先進行渲染。

import { ToItem } from '../view/ToItem'// 表示當前組件是一個主頁面
@Entry
// 表示當前是一個組件
@Component
struct ToDoList {build() {// 頁面內(nèi)容...}
}

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ElcBw0BK-1692021004323)(D:\work\鴻蒙開發(fā)APP\第一個ArkTs項目實踐.assets\image-20230814205246074.png)]

圖中有重復的內(nèi)容顯示,可以通過創(chuàng)建組件配合ForEach來完成。

// 組件注釋
@Component
export struct  ToItem{build(){}
}

在這里插入圖片描述

圖片中的選中和未選擇狀態(tài)可以通過定義變量進行在樣式中判斷。

@Component
export struct  ToItem{private content:string;// 定義當前狀態(tài)@State isComplete: boolean = false;@Builder labelIcon(icon) {Image(icon).width(20)}build(){Row(){// 通過判斷當前的狀態(tài)進行顯示指定圖片效果if(this.isComplete){this.labelIcon($r('app.media.radio_on'))}else {this.labelIcon($r('app.media.radio_off'))}// 文字...}}
}

配置屬性與布局

配置屬性

自定義組件的組成使用基礎組件和容器組件等內(nèi)置組件進行組合。但有時內(nèi)置組件的樣式并不能滿足我們的需求,ArkTS提供了屬性方法用于描述界面的樣式。屬性方法支持以下使用方式:

常量傳遞

例如使用fntSize(50)來配置字體大小

Text('Hello World').fontSize(50)

變量傳遞

通過定義變量可以在當前組件內(nèi)通過 this 進行拿取到對應變量的值。

@Component
export struct  ToItem{// 定義變量private content:string;// 定義變量@State isComplete: boolean = false;
}
Text('Hello World').frontSize(this.size)

鏈式調用

在多個屬性時,ArkTS提供了鏈式調用的方式,通過’.'方式連續(xù)配置。

Text('Hello World').fontSize(this.size)// 寬度默認單位vp.width(100)// 高度默認單位vp.height(100)

表達式傳遞

屬性中還可傳入普通表達式以及三目運算表達式。

Text('Hello World').fontSize(this.size).width(this.count + 100).height(this.count % 2 === 0 ? 100 : 200)

內(nèi)置枚舉類型

ArkTS中提供了內(nèi)置枚舉類型,如Color,FontWeight等,例如設置fontColor改變字體顏色為紅色,并私有fontWeight為加粗。

Text('Hello World').fontSize(this.size).width(this.count + 100).height(this.count % 2 === 0 ? 100 : 200)// 設置字體顏色.fontColor(Color.Red)// 設置字體粗細.fontWeight(FontWeight.Bold)

布局

ArkTS中的布局方式有兩種分別時水平和垂直。

布局公共屬性

  • alignItems

    在Row上設置子組件在垂直方向上的對齊格式。

    在Column上設置子組件的水平方向上的對齊格式。

    默認值:VerticalAlign.Center

    VerticalAlign.Top

    VerticalAlign.Bottom

  • justifyContent

    在Row上設置子組件在水平方向上的對齊格式。

    在Column上設置子組件垂直方向上的對齊格式。

    默認值:FlexAlign.Start

    FlexAlign.Center 居中對齊

    FlexAlign.End

Row水平布局

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-HfFBfJw6-1692021004324)(D:\work\鴻蒙開發(fā)APP\第一個ArkTs項目實踐.assets\image-20230814211205501.png)]

Row(){Image($r('app.media.radio_on'))...Text(this.content)...}
}

Column垂直布局

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-VRt49LPt-1692021004324)(D:\work\鴻蒙開發(fā)APP\第一個ArkTs項目實踐.assets\image-20230814211359185.png)]

Column() {Text('待辦')....  ForEach(this.totalTasks, (item) => {ToItem({content: item})},....)}

改變組件狀態(tài)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hXk9lGmc-1692021004325)(D:\work\鴻蒙開發(fā)APP\第一個ArkTs項目實踐.assets\image-20230814212726895.png)]

在實際的開發(fā)中由于交互的需求,需求頁面中的內(nèi)產(chǎn)生一個狀態(tài)的改變。需要通過定義變量完成不過需要加上 @State 注解。

聲明式UI的特點就是UI是隨數(shù)據(jù)更改而自動刷新的,我們這里定義了一個類型為boolean的變量isComplete,其被@State裝飾后,框架內(nèi)建立了數(shù)據(jù)和視圖之間的綁定,其值的改變影響UI的顯示。

// @State 裝飾器的作用主要是在數(shù)據(jù)發(fā)生改變時能調用頁面的build進行頁面UI更新
@State isComplete : boolean = false;

由于兩個Image的實現(xiàn)具有大量重復代碼,ArkTS提供了@Builder裝飾器,來修飾一個函數(shù),快速生成布局內(nèi)容,從而可以避免重復的UI描述內(nèi)容。這里使用@Bulider聲明了一個labelIcon的函數(shù),參數(shù)為url,對應要傳給Image的圖片路徑。

@Component
export struct  ToItem{@State isComplete: boolean = false;// @Builder 用法大概是通過 this 來調用當前構建好的框架去傳入內(nèi)容,完成一個模板的填寫成類似的功能@Builder labelIcon(icon) {Image(icon).width(20)}build(){Row(){if(this.isComplete){this.labelIcon($r('app.media.radio_on'))}else {this.labelIcon($r('app.media.radio_off'))}...}}
}

為了讓待辦項帶給用戶的體驗更符合已完成的效果,給內(nèi)容的字體也增加了相應的樣式變化,這里使用了三目運算符來根據(jù)狀態(tài)變化修改其透明度和文字樣式,如opacity是控制透明度,decoration是文字是否有劃線。通過isComplete的值來控制其變化。

  • TextDecorationType.None** 文字沒有任何效果
  • TextDecorationType.LineThrough 文字中間橫穿一條線
  • TextDecorationType.Underline 文字底部一條線
  • TextDecorationType.Overline 文字頂部一條線
Text(this.content).fontSize(20).margin({left:15}).opacity(this.isComplete ? 0.4 : 1).decoration({type: this.isComplete ? TextDecorationType.LineThrough : TextDecorationType.None})

最后,為了實現(xiàn)與用戶交互的效果,在組件上添加了onClick點擊事件,當用戶點擊該待辦項時,數(shù)據(jù)isComplete的更改就能夠觸發(fā)UI的更新。

@Component
export struct  ToItem{private content:string;@State isComplete: boolean = false;@Builder labelIcon(icon) {...}build(){Row(){if(this.isComplete){this.labelIcon($r('app.media.radio_on'))}else {this.labelIcon($r('app.media.radio_off'))}...}....onClick(() => {this.isComplete = !this.isComplete})}
}

循環(huán)渲染列表數(shù)據(jù)

我們通過創(chuàng)建好的ToDoItem組件開發(fā),通過ForEach循環(huán)顯示多條數(shù)據(jù)。

totalTasks: Array<string> = ["早餐晨練","準備早餐","閱讀名著","學習ArkTs","看劇輕松"]

代碼

ToDoItem組件

@Component
export struct  ToItem{private content:string;@State isComplete: boolean = false;@Builder labelIcon(icon) {Image(icon).width(20)}build(){Row(){if(this.isComplete){this.labelIcon($r('app.media.radio_on'))}else {this.labelIcon($r('app.media.radio_off'))}Text(this.content).fontSize(20).margin({left:15}).opacity(this.isComplete ? 0.4 : 1).decoration({type: this.isComplete ? TextDecorationType.Overline : TextDecorationType.None})}.backgroundColor("#fff").borderRadius(24).padding(25).margin(10).width("93%").onClick(() => {this.isComplete = !this.isComplete})}
}

ToDoList頁面

import { ToItem } from '../view/ToItem'
@Entry
@Component
struct ToDoList {totalTasks: Array<string> = ["早餐晨練","準備早餐","閱讀名著","學習ArkTs","看劇輕松"]build() {Row() {Column() {Text('待辦').fontSize(28).fontWeight(FontWeight.Bold).margin({top:30,bottom: 20}).width("80%")ForEach(this.totalTasks, (item) => {ToItem({content: item})})}.height("100%").width("100%").backgroundColor("#efefef")}.justifyContent(FlexAlign.)}
}

效果

在這里插入圖片描述

參考資料

文檔:

? 開發(fā)文檔官網(wǎng)

? 官網(wǎng)文檔

? https://blog.csdn.net/qq_57985179/article/details/128953555

視頻:

? 官網(wǎng)視頻/

http://www.risenshineclean.com/news/1453.html

相關文章:

  • 京東網(wǎng)站是自己做的嗎武漢百度信息流廣告
  • 東莞網(wǎng)站建設哪家好網(wǎng)站推廣的渠道有哪些
  • 做網(wǎng)站開發(fā)工資怎樣google搜索關鍵詞
  • 網(wǎng)絡公司簡介模板百度地圖優(yōu)化排名方法
  • 市場調研報告seo 推廣怎么做
  • 個人網(wǎng)站內(nèi)容有哪些內(nèi)容足球比賽直播
  • 網(wǎng)站建設需要多少網(wǎng)絡培訓課程
  • 廣州的一起做網(wǎng)站seo關鍵詞排名優(yōu)化推薦
  • 免費做兼職的網(wǎng)站有嗎優(yōu)化網(wǎng)站排名解析推廣
  • 網(wǎng)站怎么做移動圖片東莞企業(yè)網(wǎng)站模板建站
  • 做房地產(chǎn)網(wǎng)站廣告銷售seo網(wǎng)站優(yōu)化培
  • 需求登記網(wǎng)站怎么做網(wǎng)絡營銷公司排行
  • 成都住建局官網(wǎng)有問題怎么辦站長seo綜合查詢
  • 中國建設銀行網(wǎng)站首頁下載自己怎么開網(wǎng)站
  • win2008 iis配置網(wǎng)站服務營銷理論
  • 網(wǎng)站訪問速度檢測快速網(wǎng)站推廣
  • 咔咔做受視頻網(wǎng)站百度用戶服務中心官網(wǎng)電話
  • 網(wǎng)站建設需求表網(wǎng)站怎么推廣
  • 網(wǎng)站營銷如何做快速收錄網(wǎng)
  • 深圳微信網(wǎng)站建設公司哪家好打廣告
  • 織夢轉易優(yōu)cmsseo專業(yè)學校
  • 九度互聯(lián)網(wǎng)站制作效果seo項目經(jīng)理
  • 設計門戶網(wǎng)站站內(nèi)seo和站外seo區(qū)別
  • 電銷管理系統(tǒng)軟件seo技術培訓中心
  • 咸寧網(wǎng)站設計自制網(wǎng)頁
  • 旅游網(wǎng)站組織結構圖怎么做小廣告網(wǎng)頁
  • 天津企商網(wǎng)站建設公司自動點擊器免費下載
  • 企業(yè)網(wǎng)站模板建站流程百度如何購買關鍵詞
  • 做蝦網(wǎng)站該起啥名好百度指數(shù)關鍵詞工具
  • 臺州企業(yè)網(wǎng)站搭建電話南寧seo怎么做優(yōu)化團隊