最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

HarmonyOS NEXT倉頡開發(fā)語言實戰(zhàn)案例:電影App

標(biāo)簽:
HarmonyOS

大家周末好,今天依然为大家分享之前使用ArkTS实现过的案例,一个电影App,今天使用仓颉的UI再次实现,看看仓颉和ArkTs有哪些相同和不同之处。


https://img1.sycdn.imooc.com/b90480680961dfef30831312.jpg


在开始写代码之前,我们依然先分析一下页面的结构,这个页面整体是一个上下滚动的列表,所以使用List容器实现。在List容器内部的元素可以分为三个部分,最上面是轮播图,接下来是分类的可以左右滑动的列表,最底部是影片影响,是一个网格布局。

现在我们可以着手写代码,先看最上面的轮播图,仓颉语言提供了Swiper组件,可以很方便的实现轮播图的很多功能效果。下面为大家演示它的基本使用:



var controller: SwiperController = SwiperController()
Swiper(this.controller){
                ForEach(this.imglist, itemGeneratorFunc: {img:CJResource,index:Int64 =>
                            Image(img)
                        .width(300)
                        .height(300)

                            } )
            }

Swiper还有很多丰富的功能参数可以设置,下面为大家介绍一些常用的参数:

cachedCount:预加载子组件的个数

autoPlay:是否自动播放

loop:是否循环显示

curve:轮播图的动画曲线

duration:切换的动画时长


接下来两个部分都有标题了,所以使用ListItemGroup的header来实现,这部分知识点我们最近频繁用到:


@Builder func itemHead(text:String) {
    Row{
        Text(text)
        .fontColor(Color.WHITE)
        .fontSize(13)
    }
    .width(100.percent)
    .height(35)
    .alignItems(VerticalAlign.Center)
    .padding(top:3,left:10)
}
ListItemGroup(ListItemGroupParams(header:{=>bind(this.itemHead,this)(‘分类’)})){
}


接下来是分类列表的内容部分,我们首先要定义一个数组,仓颉的数组写法和ArkTS略有不同:


@State var types:ArrayList<String> = ArrayList<String>(['全部的','动作','喜剧片','爱情','乡村','都市','战争'])


然后在页面中循环添加分类组件,仓颉的Foreach写法也是和ArkTS不同的:


Scroll{
    Row{
        ForEach(types, itemGeneratorFunc: {str:String,index:Int64 =>
            if(index == currentType){
                    Text(str)
                    .fontSize(15)
                    .fontColor(Color.WHITE)
                    .padding(top:8,bottom:8,left:22,right:22)
                    .borderRadius(15)
                    .backgroundColor(0x6152FF)
            }else {
                    Text(str)
                    .fontSize(15)
                    .fontColor(Color.WHITE)
                    .padding(top:8,bottom:8,left:22,right:22)
                    .borderRadius(15)
                    .backgroundColor(Color(6, 4, 31, alpha: 1.0))
            }
                })
    }
}


最底部分电影列表和上面类似,直接贴代码:


ListItemGroup(ListItemGroupParams(header:{=>bind(this.itemHead,this)('最受欢迎')})){
    ListItem{
        Scroll{
            Row(10){
                ForEach(ArrayList<String>(['1','1','2']), itemGeneratorFunc: {str:String,index:Int64 =>
                            Image(@r(app.media.fm))
                        .width(124)
                        .height(180)
                        .borderRadius(10)
                        .objectFit(ImageFit.Fill)
                            })
            }
        }
    }
}


以上就是今天的内容分享,感谢阅读。##HarmonyOS语言##仓颉##休闲娱乐#


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消