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

制作小网站专门做外国的网站

制作小网站,专门做外国的网站,免费奖励的网站有哪些,网站页面布局图目录 1、Swiper轮播组件 1.1 Swiper基本用法 1.2 Swiper的常见属性 1.3 Swiper的样式自定义 1.3.1 基本语法 1.3.2 案例小米有品 2、样式结构重用 2.1 Extend:扩展组件(样式、事件) 2.2 Styles:抽取通用属性、事件 2.3 Builder:自定义构建函数(结构、样式、事… 目录 1、Swiper轮播组件 1.1 Swiper基本用法  1.2 Swiper的常见属性 1.3 Swiper的样式自定义 1.3.1 基本语法 1.3.2 案例小米有品 2、样式结构重用  2.1 Extend:扩展组件(样式、事件) 2.2 Styles:抽取通用属性、事件 2.3 Builder:自定义构建函数(结构、样式、事件) 3、滚动容器Scroll 3.1 Scroll 的核心用法 3.2 Scroll 的常见属性 3.3 Scroll 的控制器 3.4 Scroll 的事件 3.5 案例:京东案例实战 4、容器组件Tabs 4.1 Tabs 基本用法 4.2 Tabs 常用属性 4.3 滚动导航栏 4.4 自定义TabBar 4.4.1 基础结构 4.4.2 高亮切换 4.5 案例:小米有品底部Tabs 前言组件化开发-样式结构重用常见组件 1、Swiper轮播组件 1.1 Swiper基本用法  import window from ohos.window; Entry Componentstruct Index {onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column(){Swiper(){Text(1).backgroundColor(Color.Yellow)Text(2).backgroundColor(Color.Orange)Text(3).backgroundColor(Color.Brown)}.width(100%).height(100).margin({bottom: 5})Swiper(){Image($r(app.media.ic_swiper_xmyp01))Image($r(app.media.ic_swiper_xmyp02))Image($r(app.media.ic_swiper_xmyp03))Image($r(app.media.ic_swiper_xmyp04))}.width(100%).height(150)}} }1.2 Swiper的常见属性 import window from ohos.window; Entry Componentstruct Index {onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column(){ Swiper(){Image($r(app.media.ic_swiper_xmyp01))Image($r(app.media.ic_swiper_xmyp02))Image($r(app.media.ic_swiper_xmyp03))Image($r(app.media.ic_swiper_xmyp04))}.loop(false) //是否开启循环 默认trueflase无法左滑到末页.autoPlay(true) // 自动播放 默认是false自动播放.invert(4000) // 播放间隔 默认3000.vertical(false) //纵向滑动轮播默认flasetrue就是纵向.width(100%).height(150)}} }1.3 Swiper的样式自定义 1.3.1 基本语法 import window from ohos.window; import { InterstitialDialogAction } from ohos.atomicservice.InterstitialDialogAction;Entry Componentstruct Index {onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column(){Swiper(){Text(1).backgroundColor(Color.Yellow)Text(2).backgroundColor(Color.Orange)Text(3).backgroundColor(Color.Brown)}.width(100%).height(200).margin({bottom: 5})// .indicator(true) //定制小圆点。默认false.indicator(Indicator.dot().itemWidth(20).itemHeight(20).color(Color.Black).selectedItemWidth(25).selectedItemHeight(25).selectedColor(Color.White))Swiper(){Image($r(app.media.ic_swiper_xmyp01))Image($r(app.media.ic_swiper_xmyp02))Image($r(app.media.ic_swiper_xmyp03))Image($r(app.media.ic_swiper_xmyp04))}.loop(false) //是否开启循环 默认trueflase无法左滑到末页.autoPlay(true) // 自动播放 默认是false自动播放.invert(4000) // 播放间隔 默认3000.vertical(false) //纵向滑动轮播默认flasetrue就是纵向.width(100%).height(150)}} }1.3.2 案例小米有品 import window from ohos.window; import { InterstitialDialogAction } from ohos.atomicservice.InterstitialDialogAction;Entry Componentstruct Index {onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column(){Swiper(){Image($r(app.media.ic_swiper_xmyp01))Image($r(app.media.ic_swiper_xmyp02))Image($r(app.media.ic_swiper_xmyp03))Image($r(app.media.ic_swiper_xmyp04))}.width(100%).aspectRatio(2.4) // 宽高比.autoPlay(true) // 自动播放 默认是false自动播放.invert(4000) // 播放间隔 默认3000.indicator(Indicator.dot().itemWidth(10).selectedItemWidth(30).selectedColor(Color.Black))}} }2、样式结构重用  2.1 Extend:扩展组件(样式、事件) import window from ohos.window;Extend(Text) function textFn(){.fontSize(20).fontWeight(FontWeight.Bold) }Extend(Text) function bannerExtend(bgColor: ResourceColor, msg: string){.textAlign(TextAlign.Center).backgroundColor(bgColor).fontColor(Color.White).fontSize(30).onClick(() {AlertDialog.show({message: msg})}) }Entry Componentstruct Index {State message: string Extend-扩展组件(样式,事件);onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column() {Text(this.message).textFn()Swiper() {Text(1).bannerExtend(Color.Orange, 轮播图1号)Text(2).bannerExtend(Color.Brown, 轮播图2号)Text(3).bannerExtend(Color.Green, 轮播图3号)}.width(100%).height(160)}.width(100%).height(100%)} }2.2 Styles:抽取通用属性、事件 下图有Text、Button、Column是无法使用Extend实现那么需要学习StylesStyles可以全局定义、可以在组件里面定义但是不支持传参 import window from ohos.window;// 1 全局定义 Styles function commonStyles (){.width(100).height(100) }Entry Componentstruct Index {State message: string styles;State bgColor: ResourceColor Color.Gray// 2、 组件内定义Styles SetBg (){.backgroundColor(this.bgColor).onClick(() {this.bgColor Color.Orange})}onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column({ space: 10 }) {Text(this.message).fontColor(Color.White).commonStyles().SetBg()Column() {}.commonStyles().SetBg()Button(按钮).commonStyles().SetBg()Button(重置).commonStyles().onClick( () {this.bgColor Color.Gray})}.width(100%).height(100%)} }2.3 Builder:自定义构建函数(结构、样式、事件) 注意全局与局部区别this.xxx import window from ohos.window;// 1 全局定义 Builder function navItem (icon: ResourceStr, txt: string){Column({ space: 10 }) {Image(icon).width(80%)Text(txt)}.width(25%).onClick(() {AlertDialog.show({message: 点了 ${txt}})}) }Entry Componentstruct Index {State message: string Builder;// 2 局部定义BuildernavItem (icon: ResourceStr, txt: string){Column({ space: 10 }) {Image(icon).width(80%)Text(txt)}.width(25%).onClick(() {AlertDialog.show({message: 点了 ${txt} this.message})}) }onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column({ space: 20 }) {Text(this.message).fontSize(30)Row() {Row() {navItem($r(app.media.ic_reuse_01), 阿里拍卖)navItem($r(app.media.ic_reuse_02), 菜鸟)this.navItem($r(app.media.ic_reuse_03), 芭芭农场)this.navItem($r(app.media.ic_reuse_04), 医药)}}}.width(100%).height(100%)}} 3、滚动容器Scroll 3.1 Scroll 的核心用法 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column() {// 如果需要滚动外层Scroll(){Column({ space: 10 }) {ForEach(Array.from({ length: 10 }), (item: string, index) {Text(测试文本 (index 1)).width(100%).height(100).textAlign(TextAlign.Center).backgroundColor(Color.Orange).fontSize(20).fontColor(Color.White).borderRadius(10)})}.padding(10).width(100%)}.width(100%).height(400).scrollable(ScrollDirection.Vertical) // .scrollable(ScrollDirection.Horizontal) //横向}}} 3.2 Scroll 的常见属性 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Column() {// 如果希望内容溢出, 能够滚动Scroll() {Column({ space: 10 }) {ForEach(Array.from({ length: 10 }), (item: string, index) {Text(测试文本 (index 1)).width(100%).height(100).textAlign(TextAlign.Center).backgroundColor(Color.Orange).fontSize(20).fontColor(Color.White).borderRadius(10)})}.padding(10).width(100%)}.width(100%).height(400).scrollable(ScrollDirection.Vertical) // 设置滚动方向.scrollBar(BarState.Auto) // On一直显示 Off一直隐藏 Auto滑动显示.scrollBarColor(Color.Blue) // 滚动条颜色.scrollBarWidth(5) // 滚动条宽度.edgeEffect(EdgeEffect.Spring) // 滑动效果}} } 3.3 Scroll 的控制器 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}// 1. 创建 Scroller 对象 (实例化)myScroll: Scroller new Scroller()build() {Column() {// 如果希望内容溢出, 能够滚动// 2. 绑定给 Scroll 组件Scroll(this.myScroll) {Column({ space: 10 }) {ForEach(Array.from({ length: 10 }), (item: string, index) {Text(测试文本 (index 1)).width(100%).height(100).textAlign(TextAlign.Center).backgroundColor(Color.Orange).fontSize(20).fontColor(Color.White).borderRadius(10)})}.padding(10).width(100%)}.width(100%).height(400).scrollable(ScrollDirection.Vertical) // 设置滚动方向.scrollBar(BarState.Auto) // On一直显示 Off一直隐藏 Auto滑动显示.scrollBarColor(Color.Blue) // 滚动条颜色.scrollBarWidth(5) // 滚动条宽度.edgeEffect(EdgeEffect.Spring) // 滑动效果Button(控制滚动条位置).margin(20).onClick(() {this.myScroll.scrollEdge(Edge.End)})Button(获取已经滚动的距离).onClick(() {const x this.myScroll.currentOffset().xOffsetconst y this.myScroll.currentOffset().yOffsetAlertDialog.show({message: x: ${x} y: ${y}})})}} } 3.4 Scroll 的事件 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}// 1. 创建 Scroller 对象 (实例化)myScroll: Scroller new Scroller()build() {Column() {// 如果希望内容溢出, 能够滚动// 2. 绑定给 Scroll 组件Scroll(this.myScroll) {Column({ space: 10 }) {ForEach(Array.from({ length: 10 }), (item: string, index) {Text(测试文本 (index 1)).width(100%).height(100).textAlign(TextAlign.Center).backgroundColor(Color.Orange).fontSize(20).fontColor(Color.White).borderRadius(10)})}.padding(10).width(100%)}.width(100%).height(400).scrollable(ScrollDirection.Vertical) // 设置滚动方向.scrollBar(BarState.Auto) // On一直显示 Off一直隐藏 Auto滑动显示.scrollBarColor(Color.Blue) // 滚动条颜色.scrollBarWidth(5) // 滚动条宽度.edgeEffect(EdgeEffect.Spring) // 滑动效果.onScroll((x, y) {console.log(已经滑动的距离:, this.myScroll.currentOffset().yOffset)})Button(控制滚动条位置).margin(20).onClick(() {this.myScroll.scrollEdge(Edge.End)})Button(获取已经滚动的距离).onClick(() {const y this.myScroll.currentOffset().yOffsetAlertDialog.show({message: y: ${y}})})}} } 3.5 案例:京东案例实战 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}// 1、 创建scroll实例对象myScroll: Scroller new Scroller()State yOffset: number 0build() {Column() {Stack({ alignContent: Alignment.BottomEnd }) {// 顶部滚动区域// 2 和Scroll容器绑定Scroll(this.myScroll) {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.myScroll.currentOffset().yOffset})// 有时显示 有时隐藏-》条件渲染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 })// 3 添加事件.onClick( () {this.myScroll.scrollEdge(Edge.Top)})}}.layoutWeight(1)// 底部 tabbar 图片(后面会学)Image($r(app.media.ic_jd_tab)).width(100%)}} } 4、容器组件Tabs 4.1 Tabs 基本用法 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Tabs(){TabContent(){Text(首页内容) // 只能有一个子组件}.tabBar(首页)TabContent(){Text(推荐内容)}.tabBar(推荐)TabContent(){Text(发现内容)}.tabBar(发现)TabContent(){Text(我的)}.tabBar(我的)}} } 4.2 Tabs 常用属性 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}build() {Tabs({ barPosition: BarPosition.End }) {TabContent() {Text(首页内容) // 有且只能一个子组件}.tabBar(首页) // 配置导航TabContent() {Text(推荐内容) // 有且只能一个子组件}.tabBar(推荐)TabContent() {Text(发现内容) // 有且只能一个子组件}.tabBar(发现)TabContent() {Text(我的内容) // 有且只能一个子组件}.tabBar(我的)}.vertical(false) // 调整导航水平或垂直.scrollable(false) // 是否开启手势滑动.animationDuration(0) // 点击滑动的动画时间} }4.3 滚动导航栏 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}titles: string[] [首页,关注,热门,军事,体育,八卦,数码,财经,美食,旅行]build() {// 生成10个面板 → 10个小导航Tabs() {ForEach(this.titles, (item: string, index) {TabContent() {Text(${item}内容)}.tabBar(item)})}// barMode属性, 可以实现滚动导航栏.barMode(BarMode.Scrollable)} }4.4 自定义TabBar 4.4.1 基础结构 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}BuildermyBuilder (title: string, img: ResourceStr) {Column() {Image(img).width(30)Text(title)}}build() {Tabs({ barPosition: BarPosition.End }) {TabContent() {Text(购物车内容)}.tabBar(this.myBuilder(购物车, $r(app.media.ic_tabbar_icon_2)))TabContent() {Text(我的内容)}.tabBar(this.myBuilder(我的, $r(app.media.ic_tabbar_icon_3)))}} } 4.4.2 高亮切换 import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}// 准备状态, 存储激活的索引State selectedIndex: number 0BuildermyBuilder (itemIndex: number, title: string, img: ResourceStr, selImg: ResourceStr) {// 如果激活的是自己, 图片/文本 都需要调整样式 → 需要区分不同的 tabBarColumn() {Image(itemIndex this.selectedIndex ? selImg : img).width(30)Text(title).fontColor(itemIndex this.selectedIndex ? Color.Red : Color.Black)}}build() {Tabs({ barPosition: BarPosition.End }) {TabContent() {Text(购物车内容)}.tabBar(this.myBuilder(0, 购物车, $r(app.media.ic_tabbar_icon_2), $r(app.media.ic_tabbar_icon_2_selected)))TabContent() {Text(我的内容)}.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.selectedIndex index}).animationDuration(0).scrollable(false)} } 4.5 案例:小米有品底部Tabs import window from ohos.window;Entry Component struct Index {State message: string 春天的菠菜;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setFullScreen(true)});}// 准备状态, 存储激活的索引State selectedIndex: number 0BuildermyBuilder (itemIndex: number, title: string, img: ResourceStr, selImg: ResourceStr) {// 如果激活的是自己, 图片/文本 都需要调整样式 → 需要区分不同的 tabBarColumn() {Image(itemIndex this.selectedIndex ? selImg : img).width(30)Text(title).fontColor(itemIndex this.selectedIndex ? Color.Red : Color.Black)}}BuildercenterBuilder () {Image($r(app.media.ic_reuse_02)).width(40).margin({ bottom: 10 })}build() {Tabs({ barPosition: BarPosition.End }) {TabContent() {Text(首页内容)}.tabBar(this.myBuilder(0, 首页, $r(app.media.ic_tabbar_icon_0), $r(app.media.ic_tabbar_icon_0_selected)))TabContent() {Text(分类内容)}.tabBar(this.myBuilder(1, 分类, $r(app.media.ic_tabbar_icon_1), $r(app.media.ic_tabbar_icon_1_selected)))// 特殊形状的TabTabContent() {Text(活动内容)}.tabBar(this.centerBuilder())TabContent() {Text(购物车内容)}.tabBar(this.myBuilder(3, 购物车, $r(app.media.ic_tabbar_icon_2), $r(app.media.ic_tabbar_icon_2_selected)))TabContent() {Text(我的内容)}.tabBar(this.myBuilder(4, 我的, $r(app.media.ic_tabbar_icon_3), $r(app.media.ic_tabbar_icon_3_selected)))}.onChange((index: number) {// console.log(激活的索引, index)this.selectedIndex index}).animationDuration(0).scrollable(false)} }
http://www.w-s-a.com/news/468018/

相关文章:

  • 成都学网站建设费用帝国cms与wordpress
  • 如何刷网站排名品牌设计的英文
  • 富阳有没有做网站的房产局官网查询系统
  • 建设网站列表aliyun oss wordpress
  • 做PPT的辅助网站wordpress拖拽式主题
  • 商城网站源码seo兼职58
  • 汽车租赁网站的设计与实现全网营销推广哪家正规
  • 做网站时怎么取消鼠标悬停如何设计软件界面
  • 建德网站设计公司中国十大热门网站排名
  • 网站与新媒体建设测评方案163企业邮箱官网入口
  • 怎样做下载网站页面设计参评
  • 哈尔滨住建局网站首页设计制作过程
  • php投资理财企业网站模板网站呼叫中心 建设工期
  • 查数据的权威网站silverlight 做的网站
  • 网站开发外包网站贵阳网站建设 网站制作
  • 官方微网站西安景观设计公司排行
  • 广州学做网站视频代做网站
  • 沈阳公司建站seo课程培训班
  • 杭州做微信网站软件公司网站建设毕业设计中期进度报告
  • 怎么做谷歌这样的网站如何建立一个网站放视频
  • 园区网站建设调研报告北京朝阳区哪里有网站开发
  • 网站角色权限wordpress 优化版
  • 购物网站ppt怎么做网络公司注册多少钱
  • 学做衣服上什么网站好贴吧高级搜索
  • 贵州 跨境电商网站建设做淘宝店铺有哪些好的网站
  • 广州正规网站制作公司网站搭建公司
  • ui设计零基础好学吗珠海网站建设优化推广
  • 网站开发多少费用火车头采集wordpress发布时间
  • 有没有做皮艺的网站教育培训网站建设ppt
  • 建设外贸商城网站制作如何建设景区旅游网站