快速開發一個鴻蒙的頁面

文章目錄

  • 前言
  • 常用組件
  • 快速開啟簡單的鴻蒙頁面
  • 總結
一、前言

鴻蒙要想快速上手,那么就需要對基礎的組件使用比較熟悉,這里就羅列開發中常見的基礎組件的使用。

只要是寫android的,對于這些組件的使用還是能很快上手的,只要多多練習。

最后呢,這里會通過基礎組件的使用,將他們放到頁面中,這樣有更直觀的體驗。

二、常用的基礎組件
1、Image
     //圖片組件Image($r('app.media.icon'))// Image($rawfile('test.png'))  //如果是rawFile 要加后綴名.width(50).height(50).borderRadius(10).interpolation(ImageInterpolation.High) //圖片的插值效果(去掉鋸齒是圖片清晰).margin({bottom: 10}).onComplete(img =>{console.log("圖片的寬度:" + img.width)}).onError(()=>{//圖片加載報錯,走這里})
2、Text
      //文本組件Text($r('app.string.register')).fontSize(20)  //字體大小.lineHeight(30) //行高.fontColor('#00f') //字體顏色.fontWeight(FontWeight.Medium)//字體粗細.margin({bottom: 10}).onClick(()=>{console.log('點擊事件')})
3、TextInput
        //文本輸入框TextInput({placeholder:'請輸入用戶名'}) //這里頭是提示文本.width('80%').height(40).backgroundColor('#cdcdcd').margin({left: 10})//密碼輸入框TextInput({placeholder: '請輸入密碼'}).width('80%').height(40).backgroundColor('#cdcdcd').type(InputType.Password) //輸入文本類型.showPasswordIcon(true) //是否顯示密碼icon.margin({bottom: 10}).onChange(val=>{console.log('輸入的值為:' + val)}).margin({left: 10})
4、Slider
        //滑動進度條Slider({value: this.high,min: 150,max: 190,step:1, //這里代表步長style: SliderStyle.InSet, //滑動頭的是在里面,還是在里面direction: Axis.Horizontal, //滑動條的方向。默認是橫向reverse: false //進度往哪個方向,是否是反向。默認是往右}).width('70%').trackThickness(20) //滑軌的粗細.showTips(true) //是否顯示進度條百分比.onChange(val =>{    //獲取進度的值this.high = valconsole.log('進度長度:' + val)})Text(this.high.toString()).fontSize(20).fontWeight(FontWeight.Medium)
5、Select
		//下拉框組件Select([{ value: '深圳'},{ value: '廣州'},{ value: '北京'},{ value: '上海'}]).selected(1)  //默認選擇的城市.value('請選擇城市') //提示文本.font({size:20, weight: FontWeight.Medium}).onSelect((index,value) =>{console.log('選擇的城市:' + value)})
6、Checkbox
      Row(){Text('興趣:').fontSize(20)//多選框群組CheckboxGroup({group: 'checkGroup'})//控制是否全選或者全不選.selectedColor('#f00').selectAll(true)  //默認是否全部選中,如果Checkbox 中的select 有值,那么子組件優先級高,這邊就不生效.onChange((itemName: CheckboxGroupResult) =>{ //被選中的組件名及狀態。全部選中的狀態是0,全不選是2,有選中是1console.log('選中的框是:'+ itemName.name + ' 狀態是:'+ itemName.status.toString())})Text('全選').fontSize(20)Checkbox({name: 'checkbox1', group: 'checkGroup'}).selectedColor('#f00')//選中的顏色.select(false) //這個優先級高于多選框群組的selectAll.onChange((value: Boolean) =>{console.log('checkbox1 是否選中:' + value)})Text('看書').fontSize(20)Checkbox({name: 'checkbox2', group: 'checkGroup'}).selectedColor('#f00')//選中的顏色.select(false).onChange((value: Boolean) =>{console.log('checkbox2 是否選中:' + value)})Text('跑步').fontSize(20)Checkbox({name: 'checkbox3', group: 'checkGroup'}).selectedColor('#f00')//選中的顏色.select(false).onChange((value: Boolean) =>{console.log('checkbox3 是否選中:' + value)})Text('釣魚').fontSize(20)}.width('100%').margin({bottom:10})
7、Radio
      Row(){Text('性別:').fontSize(20)//單選框組件 (記得寫多組,不然點擊看不出效果)Radio({value: '男', group: 'sex'}).height(20).width(20).checked(true).onChange((isChecked: Boolean)=>{if (isChecked) {console.log('男生 是否選中:' + isChecked)}})Text('男').fontSize(20)Radio({value: '女', group: 'sex'}).height(20).width(20).checked(true).onChange((isChecked: Boolean)=>{if (isChecked) {console.log('女生 是否選中:' + isChecked)}})Text('女').fontSize(20)}.width('100%')
三、布局
1、Column
     //垂直方向布局容器Column({space:20}){ //組件間的間距Text('組件一').fontSize(20).fontColor('#00f').lineHeight(FontWeight.Medium)Text('組件二').fontSize(20).fontColor('#00f').lineHeight(FontWeight.Medium)}.backgroundColor('#f00').width('100%').height(100).justifyContent(FlexAlign.Center)//這里是column里面組件  主軸的布局方式。有居中,有放在開始,有放在結束等。.alignItems(HorizontalAlign.Start) //這里是column里面組件 交叉軸的布局方式。
2、Row
     //水平方向布局容器Row(){Text('組件一').fontSize(20).fontColor('#00f').lineHeight(FontWeight.Medium)Text('組件二').fontSize(20).fontColor('#00f').lineHeight(FontWeight.Medium)}.backgroundColor('#0f0').width('100%').height(50).justifyContent(FlexAlign.Center)//主軸的布局方式,這是是居中.alignItems(VerticalAlign.Top) //交叉軸的布局方式,這里是放在頂部Text('組件三').fontSize(20).fontColor('#00f').lineHeight(FontWeight.Medium).margin(20)
3、Stack
//堆疊布局,后面的組件會覆蓋在前面的組件上面Stack(){Image($r('app.media.icon')).width(50).height(50)Text('hello world')//這個控件覆蓋在image上面}.width('90%').border({radius: 20}).backgroundColor('#f00')
四、快速開啟簡單的鴻蒙頁面

這是根據上面提到的組件和布局整理出來的,一個頁面。下面是效果圖。

在這里插入圖片描述

最后呢,將我整理的這些組件都放到這個項目中,后面有新增,也會一并上傳。開發中,某些api忘記了,可以重新拿出來看看。

以上代碼地址:https://github.com/shenshizhong/ViewUseDemo

總結

1、羅列鴻蒙基礎組件的使用
2、幾個重要的布局組件的使用
3、快速擼一個簡單的鴻蒙頁面

如果對你有一點點幫助,那是值得高興的事情。:)
我的csdn:http://blog.csdn.net/shenshizhong
我的簡書:http://www.jianshu.com/u/345daf0211ad

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711530.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

01-prometheus監控系統-安裝部署prometheus

一、準備環境 主機名ip配置prometheus-server3110.0.0.311核1g-20GBprometheus-server3210.0.0.311核1g-20GBprometheus-server3310.0.0.311核1g-20GB 二、下載/上傳軟件包 1,軟件包地址 這里給大家準備了百度云盤的安裝包; 鏈接:https:/…

FRM模型十二:極值理論

目錄 極值理論介紹GEVPOT 代碼實現 極值理論介紹 在風險管理中,將事件分為高頻高損、高頻低損、低頻高損、低頻低損。其中低頻高損是一種非常棘手的損失事件,常出現在市場大跌、金融體系崩潰、金融危機以及自然災害等事件中。 由于很難給極端事件一個準…

Spring 學習記錄

Spring 學習記錄 1. Spring和SpringFrameWork1.1 廣義的Spring2.1 狹義的Spring2.3 SpringFrameWork / Spring框架圖 2. Spring IOC容器(即上圖中的Core Container)2.1 相關概念 (IOC DI 容器 組件)2.2 Spring IOC容器的作用2.3 Spring IOC容器接口和具體實現類 3. Spring IOC …

flask 數據庫遷移報錯 Error: No such command ‘db‘.

初學FLASK,使用pycharm的terminal 啟動,實現數據庫遷移 文件結構 項目啟動文件不在一級目錄pycharm>terminal啟動 由于自己初入 python flask 很多東西并不懂,只能依葫蘆畫瓢,使用如下命令,輸入完第一行命令執行沒有任何錯誤…

素數合集(C語言版)

目錄 判斷素數函數 題目 素數個數 素數求和 最大的素數

微信小程序 ---- 慕尚花坊 購物車

購物車 01. 購物車-封裝購物車接口 API 思路分析: 為了方便后續進行購物車模塊的開發,我們在這一節將購物車所有的接口封裝成接口 API 函數 落地代碼: import http from ../utils/http/*** description 獲取購物車列表數據* returns Pro…

Vue ElementUI 修改消息提示框樣式—messageBox 的大小

在窄屏模式下(移動端或pda),提示框的寬度太寬,會出現顯示不完全的問題。 應當如何修改 ElementUI 的樣式呢? open() {this.$confirm(window.vm.$i18n.t("tips.conLogOut"),window.vm.$i18n.t("tips.tip…

11-Linux部署集群準備

Linux部署集群準備 介紹 在前面,我們所學習安裝的軟件,都是以單機模式運行的。 后續,我們將要學習大數據相關的軟件部署,所以后續我們所安裝的軟件服務,大多數都是以集群化(多臺服務器共同工作&#xff…

【機器學習實戰1】泰坦尼克號:災難中的機器學習(一)數據預處理

🌸博主主頁:釉色清風🌸文章專欄:機器學習實戰🌸今日語錄:不要一直責怪過去的自己,她曾經站在霧里也很迷茫。 🌼實戰項目簡介 本次項目是kaggle上的一個入門比賽 :Titani…

錨索測力計數據處理與分析:MCU自動測量單元的應用

錨索測力計作為一種重要的工程監測工具,在橋梁、大壩、隧道等結構物的健康監測中發揮著日益重要的作用。如何高效、準確地處理和分析,錨索測力計所獲取的數據成為了工程師們面臨的重要問題。近年來,隨著微控制器(MCU)技術的快速發展&#xff…

Python繪制實時空氣質量地圖

我們將使用 Google Colab 中的 Python 創建包含實時空氣質量數據的交互式地圖。 ??簡介 如果有人想查看地圖上各個傳感器的空氣質量分布情況,以檢查特定位置的空氣質量數據,該怎么辦?我接下來將解決這個問題。我們重點關注基于名為 PurpleAir 的密集空氣質量網絡來識別我們…

spring: HandlerInterceptor

文章目錄 一、什么是HandlerInterceptor二、應用示例 一、什么是HandlerInterceptor HandlerInterceptor 是 Spring 框架中的一個接口,用于攔截處理程序執行。在 Spring MVC 中,你可以使用 HandlerInterceptor 來在處理程序執行前、執行后或渲染視圖之前…

51-n皇后(回溯算法)

題目 按照國際象棋的規則,皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。 n 皇后問題 研究的是如何將 n 個皇后放置在 nn 的棋盤上,并且使皇后彼此之間不能相互攻擊。 給你一個整數 n ,返回所有不同的 n 皇后問題 的解決方案。 每一…

前端開發項目必備神器之node工具整理

前言: 在我們開發項目中,node是我們必備的工具,在為了適應各種不同的開發需求的同時,node也有很多好用的插件提供給我們,這里整理個人的使用分享給大家! 一、node相關 1、node官方網站,可以安裝…

模擬算法題練習(二)(DNA序列修正、無盡的石頭)

(一、DNA序列修正) 問題描述 在生物學中,DNA序列的相似性常被用來研究物種間的親緣關系。現在我們有兩條 DNA序列,每條序列由 A、C、G、T 四種字符組成,長度相同。但是現在我們記錄的 DNA序列存在錯誤,為了…

ubuntu基礎操作(1)-個人筆記

搜狗輸入法Linux官網-首頁搜狗輸入法for linux—支持全拼、簡拼、模糊音、云輸入、皮膚、中英混輸https://pinyin.sogou.com/linux 1.關閉sudo密碼: 終端(ctrl alt t)輸入 sudo visudo 打開visudo 找到 %sudo ALL(ALL:ALL) ALL 這一行…

羊大師分享,羊奶奶有哪些對健康有益的喝法?

羊大師分享,羊奶奶有哪些對健康有益的喝法? 羊奶奶有多種對健康有益的喝法,以下是一些建議: 直接飲用:將羊奶直接煮沸后飲用,可以保留羊奶中的營養成分,為身體提供全面的滋養。羊奶的豐富蛋白質…

代碼隨想錄算法訓練營第二十八天補|93.復原IP地址 ● 78.子集 ● 90.子集II

組合問題:集合內元素的組合,不同集合內元素的組合 分割問題:本質還是組合問題,注意一下如何分割字符串 回溯模板偽代碼 void backtracking(參數) {if (終止條件) {存放結果;return;}for (選擇:本層集合中元素&#xf…

Softmax

Softmax函數是一種在機器學習和深度學習中廣泛使用的激活函數,特別是在處理多分類問題時。它將一個含任意實數的向量轉換成一個概率分布,其中每個元素的值代表了屬于對應類別的概率。Softmax函數的輸出是所有可能類別的概率分布,這些概率的總…

【六袆 - MySQL】MySQL 5.5及更高版本中,InnoDB是新表的默認存儲引擎;

InnoDB 這是一個MySQL組件,結合了高性能和事務處理能力,以確保可靠性、健壯性和并發訪問。它體現了ACID設計哲學。它作為一個存儲引擎存在,處理使用ENGINEINNODB子句創建的或修改的表。請參閱第14章“InnoDB存儲引擎”以獲取有關架構細節和管…