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

當(dāng)前位置: 首頁(yè) > news >正文

湘潭交通網(wǎng)站網(wǎng)頁(yè)查詢

湘潭交通網(wǎng)站,網(wǎng)頁(yè)查詢,pc做網(wǎng)站,dw設(shè)計(jì)做網(wǎng)站完整案例序言: 本文詳細(xì)講解了關(guān)于我們?cè)陧?yè)面上經(jīng)常看到的可滾動(dòng)頁(yè)面和導(dǎo)航欄在鴻蒙開發(fā)中如何用Scroll和Tabs組件實(shí)現(xiàn),介紹了Scroll和Tabs的基本用法與屬性。 筆者也是跟著B站黑馬的課程一步步學(xué)習(xí),學(xué)習(xí)的過(guò)程中添加部分自己的想法整理為筆記分享出…

序言:

本文詳細(xì)講解了關(guān)于我們?cè)陧?yè)面上經(jīng)??吹降目蓾L動(dòng)頁(yè)面和導(dǎo)航欄在鴻蒙開發(fā)中如何用Scroll和Tabs組件實(shí)現(xiàn),介紹了Scroll和Tabs的基本用法與屬性。

筆者也是跟著B站黑馬的課程一步步學(xué)習(xí),學(xué)習(xí)的過(guò)程中添加部分自己的想法整理為筆記分享出來(lái),如有代碼錯(cuò)誤或筆誤,歡迎指正。

B站黑馬的課程鏈接:鴻蒙課程介紹_嗶哩嗶哩_bilibili

往期筆記:

【01】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-ArkTs基礎(chǔ)語(yǔ)法與界面開發(fā)基礎(chǔ)

【02】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-界面進(jìn)階與布局排布(附QQ登陸、得物、京東登陸綜合案例+代碼)

【03】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-更多布局(彈性/層疊)方式與界面開發(fā)綜合(附飛狗卡片+B站卡片案例+實(shí)戰(zhàn)開發(fā)支付寶界面+代碼)

【04】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-ArkTs進(jìn)階運(yùn)算符+狀態(tài)管理(附綜合案例美團(tuán)購(gòu)物車)

【05】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-條件渲染+if/switch判斷與for/while循環(huán)(附計(jì)數(shù)器、京東加購(gòu)案例)
【06】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-綜合案例·生肖抽獎(jiǎng)卡具體實(shí)現(xiàn)(類似支付寶集五福)
【07】純血鴻蒙HarmonyOS NEXT星河版開發(fā)0基礎(chǔ)學(xué)習(xí)筆記-Swiper輪播組件與樣式&結(jié)構(gòu)重用

目錄

一.滾動(dòng)容器Scroll

1.Scroll-核心用法

2.Scroll-常見屬性

3.Scroll-控制器

4.Scroll-事件

5.Scroll-京東案例

二.Tabs組件

1.Tabs-基本使用

2.Tabs-自定義TabBar-基礎(chǔ)結(jié)構(gòu)

3.Tabs-自定義TabBar-高亮切換


一.滾動(dòng)容器Scroll

簡(jiǎn)介:當(dāng)子組件的布局尺寸超出Scroll的尺寸時(shí),內(nèi)容可以滾動(dòng)

1.Scroll-核心用法

1)用法說(shuō)明:

①Scroll設(shè)置尺寸

②設(shè)置溢出的子組件(只支持一個(gè)子組件)

③滾動(dòng)方向(支持橫向和縱向,默認(rèn)縱向)

2)代碼示意:

  build() {Scroll(){//只支持一個(gè)子組件Column(){//內(nèi)容放在內(nèi)部//尺寸超過(guò)Scroll即可滾動(dòng)}}.width('100%').height(200).scrollable(ScrollDirection.xxx)//設(shè)置滾動(dòng)方向}
//.scrollable(ScrollDirection.Vertical) 縱向
//.scrollable(ScrollDirection.Horizontal)橫向

2.Scroll-常見屬性

1)常用參數(shù):

名稱

參數(shù)類型

描述

scrollBar

BarState

設(shè)置滾動(dòng)條狀態(tài)

scrollBarColor

string|number|Color

設(shè)置滾動(dòng)條顏色

scrollBarWidth

string|number

設(shè)置滾動(dòng)條寬度

edgeEffect

value:EdgeEffect

設(shè)置邊緣滑動(dòng)效果

EdgeEffect.None 無(wú)

EdgeEffect.Spring 彈簧

EdgeEffect.Fade 陰影

scrollable

ScrollDirection

設(shè)置滾動(dòng)方向

ScrollDirection.Vertical) 縱向

ScrollDirection.Horizontal)橫向

2)代碼示意:

  build() {Column() {Scroll() {Column() {ForEach(Array.from({ length: 10 }), (item: string, index) => {Text('測(cè)試文本').width('100%').height(100).backgroundColor(Color.Grey).margin(20)})}.padding(10).width('100%')}.width('100%').height(400).scrollable(ScrollDirection.Vertical) //設(shè)置滾動(dòng)方向.scrollBar(BarState.On)  //On令滾動(dòng)條恒存在 Off恒隱藏 Auto滑動(dòng)顯示.scrollBarColor(Color.Blue)  //滾動(dòng)條顏色.scrollBarWidth(5)  //滾動(dòng)條寬度.edgeEffect(EdgeEffect.Spring)  //滾動(dòng)條彈簧效果}}

?

3.Scroll-控制器

1)核心步驟:

①實(shí)例化Scroll的控制器

②綁定給Scroll組件

③控制器的方法控制滾動(dòng),控制其屬性獲取滾動(dòng)距離

2)代碼示意:

struct Index {//1.創(chuàng)建Scroller對(duì)象(實(shí)例化)myscroller:Scroller = new Scroller()build() {Column({ space: 10 }) {Scroll(this.myscroller) {Column() {ForEach(Array.from({ length: 10 }), (irem: string, index) => {Text('測(cè)試文本').width('100%').height(100).backgroundColor(Color.Grey).margin(20)})}.padding(10).width('100%')}.width('100%').height(400).scrollable(ScrollDirection.Vertical) //設(shè)置滾動(dòng)方向.scrollBar(BarState.On)  //On令滾動(dòng)條恒存在 Off恒隱藏 Auto滑動(dòng)顯示.scrollBarColor(Color.Blue)  //滾動(dòng)條顏色.scrollBarWidth(5)  //滾動(dòng)條寬度.edgeEffect(EdgeEffect.Spring)  //滾動(dòng)條彈簧效果Button('控制滾動(dòng)條位置').margin(20).onClick(()=>{this.myscroller.scrollEdge(Edge.Top) //控制滾動(dòng)條到頂部})Button('獲取已經(jīng)滾動(dòng)的距離').onClick(()=>{const y = this.myscroller.currentOffset().yOffsetAlertDialog.show({message:`'y':${y}`})})}}
}

?

4.Scroll-事件

簡(jiǎn)介:Scroll組件提供了一些事件,讓開發(fā)者可以在適當(dāng)?shù)臅r(shí)候添加邏輯。

   Scroll(){//內(nèi)容略}.onScroll((x,y))=>{//滾動(dòng)時(shí) 一直觸發(fā)//可以結(jié)合 scroller的currentOffset方案,獲取滾動(dòng)距離}

1)代碼示意:

Scroll(this.myscroller) {Column() {ForEach(Array.from({ length: 10 }), (irem: string, index) => {Text('測(cè)試文本').width('100%').height(100).backgroundColor(Color.Grey).margin(20)})}.padding(10).width('100%')}.width('100%').height(400).scrollable(ScrollDirection.Vertical) //設(shè)置滾動(dòng)方向.scrollBar(BarState.On)  //On令滾動(dòng)條恒存在 Off恒隱藏 Auto滑動(dòng)顯示.scrollBarColor(Color.Blue)  //滾動(dòng)條顏色.scrollBarWidth(5)  //滾動(dòng)條寬度.edgeEffect(EdgeEffect.Spring)  //滾動(dòng)條彈簧效果.onScroll((x,y)=>{console.log('已經(jīng)滑動(dòng)的距離:',this.myscroller.currentOffset().yOffset)})

?

5.Scroll-京東案例

1)代碼示意:

@Entry
@Component
struct Index {//1.創(chuàng)建Scroll實(shí)例對(duì)象myscroller:Scroller = new Scroller()@State yOffset:number = 0 //實(shí)時(shí)保存y軸距離build() {Column() {Stack({ alignContent: Alignment.BottomEnd }) {// 頂部滾動(dòng)區(qū)域//2.和scroller容器綁定Scroll(this.myscroller) {Column() {Image($r('app.media.ic_jd_scroll_01'))Image($r('app.media.ic_jd_scroll_02'))Image($r('app.media.ic_jd_scroll_03'))}}.scrollBar(BarState.Off).width('100%').backgroundColor(Color.Orange).onScroll(()=>{this.yOffset=this.myscroller.currentOffset().yOffset})//有時(shí)顯示有時(shí)隱藏可以用條件渲染if(this.yOffset>400)Image($r('app.media.ic_jd_rocket')).width(40).backgroundColor(Color.White).borderRadius(20).padding(5)// .margin({right:20,bottom:20}).offset({ x: -20, y: -20 }).onClick(()=>{this.myscroller.scrollEdge(Edge.Top)})}.layoutWeight(1)// 底部 tabbar 圖片(后面會(huì)學(xué))Image($r('app.media.ic_jd_tab')).width('100%')}}
}

?

二.Tabs組件

當(dāng)頁(yè)面內(nèi)容較多時(shí),可以通過(guò)Tabs組件進(jìn)行分類展示

Tab里面還可以有Tab

1.Tabs-基本使用

1)基本用法:

   Tabs(){TabContent(){Text('首頁(yè)內(nèi)容') //有且只能有一個(gè)子組件,如果內(nèi)容比較復(fù)雜,可以用Column這種}.tabBar('首頁(yè)')  //配置導(dǎo)航TabContent(){Text('推薦內(nèi)容') //有且只能有一個(gè)子組件,如果內(nèi)容比較復(fù)雜,可以用Column這種}.tabBar('推薦')  //配置導(dǎo)航TabContent(){Text('發(fā)現(xiàn)內(nèi)容') //有且只能有一個(gè)子組件,如果內(nèi)容比較復(fù)雜,可以用Column這種}.tabBar('發(fā)現(xiàn)')  //配置導(dǎo)航TabContent(){Text('我的') //有且只能有一個(gè)子組件,如果內(nèi)容比較復(fù)雜,可以用Column這種}.tabBar('我的')  //配置導(dǎo)航}

?

2)常用屬性

名稱

作用

barPosition

調(diào)整位置 開頭 或 結(jié)尾 參數(shù)

vertical

調(diào)整導(dǎo)航 水平 或 垂直

scrollable

調(diào)整是否手勢(shì)滑動(dòng) 切換

animationDuration

點(diǎn)擊滑動(dòng)動(dòng)畫時(shí)間

①寫法位置

?

3)滾動(dòng)導(dǎo)航欄

如果導(dǎo)航欄的內(nèi)容較多,屏幕無(wú)法容納時(shí),可以將它設(shè)置為滾動(dòng)

可以通過(guò)Tabs組件的barMode屬性即可調(diào)整固定導(dǎo)航欄或滾動(dòng)導(dǎo)航欄

①代碼示意:

  tieles:string[]=['首頁(yè)','關(guān)注','熱門','軍事','體育','八卦','數(shù)碼','財(cái)經(jīng)','美食','旅行',]//生成十個(gè)面板+十個(gè)小導(dǎo)航Tabs(){ForEach(this.tieles,(item:string,index)=>{TabContent(){Text('我是內(nèi)容')}.tabBar(`${item}內(nèi)容`)})}.barMode(BarMode.Scrollable)

?

2.Tabs-自定義TabBar-基礎(chǔ)結(jié)構(gòu)

TabBar在底部,一般會(huì)顯示圖形和文字,甚至有一些特殊logo

1)代碼示意:

@Entry
@Component
struct Index {@BuildermyBuilder(title:string,img:ResourceStr){Column(){Image(img).width(30)Text(title)}}build() {Tabs({barPosition:BarPosition.End}){TabContent(){Text('購(gòu)物車內(nèi)容')}.tabBar(this.myBuilder('購(gòu)物車',$r('app.media.ic_tabbar_icon_2')))TabContent(){Text('我的內(nèi)容')}.tabBar(this.myBuilder('我的',$r('app.media.ic_tabbar_icon_3')))}}
}

?

3.Tabs-自定義TabBar-高亮切換

1)核心思路:

①監(jiān)聽切換事件→得到索引值,記錄高亮的索引

②給每個(gè)tabber起一個(gè)標(biāo)記,0,1,2

③在taber內(nèi)部比較標(biāo)記==記錄的索引?高亮:不高亮

名稱

功能描述

onChange(event:(index:number)=>void)

Tab頁(yè)簽切換后觸發(fā)的事件。

-index:當(dāng)前顯示的index索引,索引從0開始計(jì)算。

滑動(dòng)切換、點(diǎn)擊切換 均會(huì)觸發(fā)

onTabbarClick(event:(index:number)=>void)10+

Tab頁(yè)簽點(diǎn)擊后觸發(fā)的事件。

-index:被點(diǎn)擊的index索引,索引從0開始計(jì)算。

2)代碼示意:

@Entry
@Component
struct Index {//準(zhǔn)備狀態(tài),存儲(chǔ)激活的索引@State selectIndex:number=0@BuildermyBuilder(itemIndex:number,title:string,img:ResourceStr,selImg:ResourceStr){//如果激活的是自己,圖文/文本,都需要調(diào)整樣式->需要區(qū)分不同的 tabarColumn(){Image(itemIndex==this.selectIndex?selImg:img).width(30)Text(title).fontColor(itemIndex==this.selectIndex?Color.Red:Color.Black)}}build() {Tabs({barPosition:BarPosition.End}){TabContent(){Text('購(gòu)物車內(nèi)容')}.tabBar(this.myBuilder(0,'購(gòu)物車',$r('app.media.ic_tabbar_icon_2'),$r('app.media.ic_tabbar_icon_2_selected')))TabContent(){Text('我的內(nèi)容')}.tabBar(this.myBuilder(1,'我的',$r('app.media.ic_tabbar_icon_3'),$r('app.media.ic_tabbar_icon_3_selected')))}.onChange((index:number)=>{/*console.log('激活的索引',index)*/this.selectIndex = index})}}

?

感謝觀看

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

相關(guān)文章:

  • 江蘇優(yōu)化網(wǎng)站公司代理推廣
  • 做資訊類網(wǎng)站需要特殊資質(zhì)嗎怎樣推廣app別人才愿意下載
  • 做視頻課程網(wǎng)站免費(fèi)收錄網(wǎng)站推廣
  • 學(xué)校網(wǎng)站策劃書網(wǎng)站之家
  • 蕪湖尚格網(wǎng)絡(luò)科技有限公司北京網(wǎng)站seo招聘
  • wordpress v4.1廣州市口碑seo推廣
  • 小學(xué)教學(xué)活動(dòng)設(shè)計(jì)方案模板桔子seo網(wǎng)
  • 純靜態(tài)網(wǎng)站怎么做社區(qū)推廣方法有哪些
  • 深圳建網(wǎng)站seo中國(guó)十大it培訓(xùn)機(jī)構(gòu)排名
  • wordpress調(diào)用指定菜單關(guān)鍵詞排名手機(jī)優(yōu)化軟件
  • 網(wǎng)站制作 北京網(wǎng)站建設(shè)公司seo搜索鋪文章
  • 鄭州網(wǎng)站建設(shè)zhuotop網(wǎng)絡(luò)新聞發(fā)布平臺(tái)發(fā)稿
  • 請(qǐng)舉例說(shuō)明什么是網(wǎng)絡(luò)營(yíng)銷seo是做什么工作的
  • 上海seo網(wǎng)站優(yōu)化百度推廣代運(yùn)營(yíng)
  • 建筑八大員證報(bào)考網(wǎng)站seo排名影響因素主要有
  • wordpress301不能用免費(fèi)網(wǎng)站推廣優(yōu)化
  • 管理咨詢公司有哪些如何網(wǎng)頁(yè)優(yōu)化
  • 珠海商城網(wǎng)站制作西安百度首頁(yè)優(yōu)化
  • 網(wǎng)站開發(fā)公司網(wǎng)絡(luò)推廣的作用
  • 廣西網(wǎng)站建設(shè)推廣報(bào)價(jià)網(wǎng)絡(luò)營(yíng)銷軟文范例
  • 盤龍區(qū)網(wǎng)絡(luò)推廣群排名優(yōu)化軟件官網(wǎng)
  • 尋找徐州網(wǎng)站開發(fā)武漢標(biāo)兵seo
  • 做網(wǎng)站做本地服務(wù)器網(wǎng)上怎么注冊(cè)公司免費(fèi)的
  • 環(huán)保網(wǎng)頁(yè)設(shè)計(jì)制作流程上海比較大的優(yōu)化公司
  • 周口學(xué)做網(wǎng)站今天的三個(gè)新聞
  • 網(wǎng)站穩(wěn)定期怎么做免費(fèi)注冊(cè)網(wǎng)頁(yè)網(wǎng)址
  • wordpress主機(jī)怎樣進(jìn)行seo推廣
  • 給個(gè)網(wǎng)站2022年手機(jī)上能用的數(shù)字化營(yíng)銷怎么做
  • 淘寶上面的網(wǎng)站建設(shè)是靠譜廈門網(wǎng)站seo外包
  • 個(gè)人博客網(wǎng)站建設(shè)方案軟文營(yíng)銷的經(jīng)典案例