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

网站建设运营公司推荐公司建网站做app要多少钱

网站建设运营公司推荐,公司建网站做app要多少钱,wordpress会员收费插件,外贸电子商务网站建设本小节以“设置”应用页面为例#xff0c;介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 为充分利用屏幕尺寸优势#xff0c;应用常常有在小屏设备上单栏显示#xff0c;大屏设备上左右分两栏显示的设计#xff0c;设置应用页面设计如下。 观察…本小节以“设置”应用页面为例介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 为充分利用屏幕尺寸优势应用常常有在小屏设备上单栏显示大屏设备上左右分两栏显示的设计设置应用页面设计如下。 观察“设置”应用页面设计不同断点下“设置主页”、“WLAN页面”和“更多WLAN设置页面”几乎完全一致只是在sm断点下采用单栏显示在md和lg断点下采用双栏显示。 在前面的典型页面场景中已经介绍了如何分析及实现不同断点下设计相似的单个页面本小节将展开介绍如何实现不同断点下存在单栏和双栏设计的场景。 为了方便读者理解本小节将围绕以下三个问题进行介绍。 如何实现单/双栏的显示效果如何实现点击跳转或刷新如何实现多级跳转 如何实现单/双栏的显示效果 开发者可以使用Row、Column、RowSplit 等基础的组件实现分栏显示的效果但是需要较多的开发工作量。方舟开发框架在API 9重构了 Navigation组件开发者可以通过配置Navigation组件的属性控制其按照单栏或双栏的效果进行显示。 Navigation组件由Navbar和Content两部分区域组成Navigation组件支持Stack、Split以及Auto三种模式。Stack及Split模式下Navigation组件的表现如下图所示。 Stack模式 Split模式 Auto模式 Auto模式是指Navigation组件可以根据应用窗口尺寸自动选择合适的模式窗口宽度小于520vp时采用Stack模式显示窗口宽度大于等于520vp时采用Split模式显示。当窗口尺寸发生改变时Navigation组件也会自动在Stack模式和Split模式之间切换。 说明 Navigation组件提供的title、navBarWidth、navBarPosition等属性来调整其显示效果。Navigation组件样式的配置与其它组件类似这里不做赘述。首次加载Navigation组件所在的页面时如果Navigation组件处于Split模式Navigation组件会自动激活其第一个NavRouter孩子节点后文会展开介绍NavRouter来刷新Content区域的显示。 设置主页的核心代码如下所示。Navigation组件默认处于Auto模式其样式会根据应用窗口尺寸在单栏和双栏之间自动切换。 import { SettingList } from ohos/settingItems;Entry Component struct Index { build() {Navigation() {SettingList()}.title($r(app.string.settings)).navBarWidth(40%).width(100%).height(100%).backgroundColor($r(sys.color.ohos_id_color_sub_background))} }//核心代码 SettingList.ets import { MainItem } from ../components/MainItem; import { ItemGroup } from ../components/ItemGroup; import { SearchBox } from ../components/SearchBox; import { MoreConnectionsItem } from ../moreconnections/MoreConnectionsItem; import { WlanSettingItem } from ../wlan/WlanSettingItem;class ItemObj {title?: Resourcetag?: Resourceicon?:Resource } let bluetoothTab:ItemObj{title: $r(app.string.bluetoothTab),tag: $r(app.string.enabled),icon: $r(app.media.blueTooth), } let mobileData:ItemObj{title: $r(app.string.mobileData),icon: $r(app.media.mobileData), } let brightnessTab:ItemObj{title: $r(app.string.brightnessTab),icon: $r(app.media.displayAndBrightness), } let volumeControlTab:ItemObj{title: $r(app.string.volumeControlTab),icon: $r(app.media.volume), } let biometricsAndPassword:ItemObj{title: $r(app.string.biometricsAndPassword),icon: $r(app.media.biometricsAndPassword), } let applyTab:ItemObj{title: $r(app.string.applyTab),icon: $r(app.media.application), } let storageTab:ItemObj{title: $r(app.string.storageTab),icon: $r(app.media.storage), } let security:ItemObj{title: $r(app.string.security),icon: $r(app.media.security), } let privacy:ItemObj{title: $r(app.string.privacy),icon: $r(app.media.privacy), } let usersAccountsTab:ItemObj{title: $r(app.string.usersAccountsTab),icon: $r(app.media.userAccounts), } let systemTab:ItemObj{title: $r(app.string.systemTab),icon: $r(app.media.system), } let aboutTab:ItemObj{title: $r(app.string.aboutTab),icon: $r(app.media.aboutDevice), }Component export struct SettingList {BuilderCustomDivider() {Divider().strokeWidth(1px).color($r(sys.color.ohos_id_color_list_separator)).margin({ left: 48, right: 8 })}build() {List({ space: 12 }) {ListItem() {SearchBox()}.padding({ top: 8, bottom: 8 }).width(100%)ListItem() {ItemGroup() {WlanSettingItem()this.CustomDivider()MainItem(bluetoothTab)this.CustomDivider()MainItem(mobileData)this.CustomDivider()MoreConnectionsItem()}}ListItem() {ItemGroup() {MainItem(brightnessTab)}}ListItem() {ItemGroup() {MainItem(volumeControlTab)}}ListItem() {ItemGroup() {MainItem(biometricsAndPassword)this.CustomDivider()MainItem(applyTab)this.CustomDivider()MainItem(storageTab)this.CustomDivider()MainItem(security)this.CustomDivider()MainItem(privacy)}}ListItem() {ItemGroup() {MainItem(usersAccountsTab)this.CustomDivider()MainItem(systemTab)this.CustomDivider()MainItem(aboutTab)}}}.padding({ left: 12, right: 12 }).width(100%).height(100%).backgroundColor($r(sys.color.ohos_id_color_sub_background))} } 如何实现点击跳转或刷新 Navigation组件通常搭配 NavRouter组件 以及 NavDestination组件 一起使用 NavRouter组件用于控制Navigation组件Content区域的显示和刷新逻辑。NavDestination组件用于实际刷新Navigation组件Content区域的显示。 刷新控制 NavRouter组件用于控制Navigation组件中Content区域的刷新逻辑其必须包含两个孩子节点。 节点类型节点功能第一个孩子节点容器类组件直接控制NavRouter的显示效果第二个孩子节点NavDestination组件刷新Navigation组件Content区域的显示 NavRouter组件默认提供了点击响应处理不需要开发者自定义点击事件逻辑。另外NavRouter组件还提供了onStateChange回调事件用于通知开发者NavRouter的状态用户点击NavRouter激活NavRouter并加载对应的NavDestination子组件时回调onStateChange(true)NavRouter对应的NavDestination子组件不再显示时回调onStateChange(false)。 结合设置应用的具体场景来看上图1号小红框是NavRouter的第一个孩子节点2号红框是NavRouter的第二个孩子节点相应的核心代码实现如下。 import { MainItem } from ../components/MainItem; import { WlanMoreSettingItem } from ../components/WlanMoreSettingItem; import { SubItemToggle } from ../components/SubItemToggle; import { SubItemWifi } from ../components/SubItemWifi; import { ItemDescription } from ../components/ItemDescription; import { ItemGroup } from ../components/ItemGroup;class MainItemObj {title?: Resourcetag?: stringicon?:Resourcelabel?: string } let mainItem:MainItemObj{title: $r(app.string.wifiTab),tag: UX,icon: $r(app.media.wlan),label: WLAN } Component export struct WlanSettingItem {LocalStorageLink(selectedLabel) selectedLabel: string build() {Column() {NavRouter() {MainItem(mainItem)NavDestination() {WlanSetting()}.title($r(app.string.wifiTab)).backgroundColor($r(sys.color.ohos_id_color_sub_background))}}} } Component struct WlanSetting {Builder CustomDivider() {Divider().strokeWidth(1px).color($r(sys.color.ohos_id_color_list_separator)).margin({left: 12, right: 8})}build() {Column() {Column() {ItemGroup() {SubItemToggle({title: $r(app.string.wifiTab), isOn: true})}Row().height(16)ItemGroup() {WlanMoreSettingItem()}}.margin({bottom: 19.5}).flexShrink(0)Scroll() {Column() {ItemDescription({description: $r(app.string.wifiTipConnectedWLAN)}).padding({left: 12,right: 12,bottom: 9.5})ItemGroup() {SubItemWifi({title: UX,subTitle: $r(app.string.wifiSummaryConnected),isConnected: true,icon: $r(app.media.ic_wifi_signal_4_dark)})}Column() {ItemDescription({description: $r(app.string.wifiTipValidWLAN)}).margin({left: 12,right: 12,top: 19.5,bottom: 9.5})ItemGroup() {SubItemWifi({title: Huwe-yee,subTitle: $r(app.string.wifiSummaryEncrypted),isConnected: false,icon: $r(app.media.ic_wifi_lock_signal_4_dark)})this.CustomDivider()SubItemWifi({title: UX-5G,subTitle: $r(app.string.wifiSummaryOpen),isConnected: false,icon: $r(app.media.ic_wifi_signal_4_dark)})this.CustomDivider()SubItemWifi({title: E1-AP,subTitle: $r(app.string.wifiSummarySaveOpen),isConnected: false,icon: $r(app.media.ic_wifi_signal_4_dark)})}}}}.scrollable(ScrollDirection.Vertical).scrollBar(BarState.Off).width(100%).flexShrink(1)}.width(100%).height(100%).padding({left: 12, right: 12})} }显示刷新 NavDestination组件用于实际刷新Navigation组件Content区域的显示。激活后的NavRouter对应的NavDestination组件会占满整个Content区域并刷新其显示。 开发者可以通过NavDestination组件提供的如下属性调整其最终显示效果 backgroundColor设置NavDestination组件的背景色。title自定义NavDestination组件的标题。hideTitleBar隐藏NavDestination组件的标题栏。 特别的Navigation组件会根据当前的状态决定是否在NavDestination组件标题栏起始部分自动添加返回键图标。当Navigation组件添加了返回键图标时还可以自动响应及处理系统三键导航中的返回键事件。 如何实现多级跳转 可以在NavDesination组件中继续使用NavRouter组件以实现多级跳转。多级跳转场景下Navigation组件同样会根据当前的状态决定是否自动添加返回键图标及响应系统三键导航中的返回键事件。 结合具体场景红框3是一个NavRouter组件点击后可以控制Navigation组件中的Content区域刷新为红框4对应的NavDestination组件吗其核心代码实现如下所示。 import { SubItemArrow } from ../components/SubItemArrow;//组件请参考相关示例 import { SubItemToggle } from ../components/SubItemToggle; import { ItemGroup } from ../components/ItemGroup; import { ItemDescription } from ../components/ItemDescription;class SubItemArrowObj{title?: Resource } let subItemArrow:SubItemArrowObj{title: $r(app.string.moreWlanSettings) } Component export struct WlanMoreSettingItem {LocalStorageLink(selectedLabel) selectedLabel: string build() {NavRouter() {SubItemArrow(subItemArrow)NavDestination() {WlanMoreSetting()}.title($r(app.string.moreWlanSettings)).backgroundColor($r(sys.color.ohos_id_color_sub_background))}} }Component export struct WlanMoreSetting {build() {Scroll() {Column() {ItemGroup() {SubItemArrow({title: $r(app.string.wlanPlus),tag: $r(app.string.enabled)})}ItemDescription({description: $r(app.string.wlanPlusTip)}).margin({top: 8,bottom: 24,left: 12,right: 12})ItemGroup() {SubItemArrow({ title: $r(app.string.wlanDirect) })}Blank().height(12)ItemGroup() {SubItemToggle({title: $r(app.string.wlanSecurityCheck)})}ItemDescription({description: $r(app.string.wlanSecurityCheckTip)}).margin({top: 8,bottom: 24,left: 12,right: 12})ItemGroup() {SubItemArrow({title: $r(app.string.savedWlan)})Divider().strokeWidth(1px).color($r(sys.color.ohos_id_color_list_separator)).margin({left: 12, right: 8})SubItemArrow({title: $r(app.string.installCertificates)})}}.backgroundColor($r(sys.color.ohos_id_color_sub_background)).padding({left: 12, right: 12})}.scrollBar(BarState.Off).width(100%)} }总结 本示例的基础导航结构上图所示 激活SettingList中的WLANSettingItem可以加载及显示WlanSetting。激活WlanSetting中的WlanMoreSettingItem可以加载及显示WlanMoreSetting。 Navigation组件支持自动切换单栏和双栏的显示效果同时可以根据当前状态自动添加返回键及响应系统的返回键事件。借助Navigation组件开发者不用关心单栏和双栏场景的差异而更关注于应用本身极大的减少开发工作量及提高开发效率。 为了能让大家更好的学习鸿蒙HarmonyOS NEXT开发技术这边特意整理了《鸿蒙开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05 《鸿蒙开发学习手册》 如何快速入门https://qr21.cn/FV7h05 基本概念构建第一个ArkTS应用…… 开发基础知识https://qr21.cn/FV7h05 应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05 Ability开发UI开发公共事件与通知窗口管理媒体安全网络与链接电话服务数据管理后台任务(Background Task)管理设备管理设备使用信息统计DFX国际化开发折叠屏系列…… 鸿蒙开发面试真题含参考答案https://qr18.cn/F781PH 鸿蒙开发面试大盘集篇共计319页https://qr18.cn/F781PH 1.项目开发必备面试题 2.性能优化方向 3.架构方向 4.鸿蒙开发系统底层方向 5.鸿蒙音视频开发方向 6.鸿蒙车载开发方向 7.鸿蒙南向开发方向
http://www.zqtcl.cn/news/527933/

相关文章:

  • 用asp做网站的可行性分析9免费建网站
  • 网站域名注册商查询徐州集团网站建设报价
  • 句容网站设计公司做网站充值犯法吗
  • 网站建设所用系统网站备案目的
  • 苏州做网站优化公司哪家好网站的大小
  • 四川省住房和城乡建设厅官方网站网站建设图标图片
  • 做影视网站侵权吗评论凡科网站建设怎么样
  • 建设个人网站流程建设游戏网站需要哪些设备
  • 四字母net做网站怎么样河南做网站优化
  • 怎样做网站快照网站当前位置怎么做
  • 网站模板移植现在c 做网站用什么框架
  • 国内专业的室内设计网站盐城网站开发代理商
  • 外贸网站建设 评价wordpress 函数调用
  • 广告支持模式的网站二级域名做网站域名
  • 空间 两个网站购物网站建设图标大全
  • 17.zwd一起做网站广州网站制作费用
  • 如何选择网站建设公司网站开发公司vue框架
  • 网站建设设计外包公司360个人网站建设
  • 什么网站专做店铺公司注销的网站备案
  • 不属于c2c网站的是带货视频怎么制作教程
  • 3g小说网站怎么自己用手机做网站
  • 广告行业包括网站建设吗关键词优化排名易下拉系统
  • 皖icp网站建设地方汽车网站模板购买
  • 在哪个网站做科目一考试题域名多少钱一年
  • 红孩子母婴网站开发背景建网站可行性分析
  • 北京 网站设计飞沐商城网站技术方案
  • 大连网站建设价格低怎么加入网站做微商城
  • 惠山网页制作北京优化推广
  • 武威做网站网站流量分析怎么做
  • 用动态和静态设计一个网站cname wordpress