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

合肥做网站哪家公司好重庆企业网站开发服务器

合肥做网站哪家公司好,重庆企业网站开发服务器,漳州商城网站建设,南通营销网站制作一、需求 在显示界面中#xff0c;数据变动#xff0c;界面刷新是非常常见的操作#xff0c;所以使用compose该如何实现呢#xff1f; 二、remember、mutableStateOf的使用 我们可以借助标题的两个概念 remember、mutableStateOf来完成。这里先不写定义#xff0c;定义…一、需求 在显示界面中数据变动界面刷新是非常常见的操作所以使用compose该如何实现呢 二、remember、mutableStateOf的使用 我们可以借助标题的两个概念 remember、mutableStateOf来完成。这里先不写定义定义看完也不是很明白从例子中去学习先看段code Composable fun AutoIncrementTest1() {var count 0Row(modifier Modifier.padding(20.dp),verticalAlignment Alignment.CenterVertically) {Text(text $count,Modifier.padding(horizontal 15.dp))Button(onClick { count }) {Text(text auto-increment )}} }这段代码是显示一个Text和一个Button点击Button后count变量自增然后在Text中显示出来。 但是实际测试的时候点击按钮Text显示数字是不会变化的原因是 Compose 并未跟踪此变量更改。也就是说这个变量不会触发界面的刷新。 为了解决上面的问题就可以使用 mutableStateOf 函数来看下修改后的代码 State 和 MutableState 是两个接口它们具有特定的值每当该值发生变化时它们就会触发界面更新重组。 setContent {ComposeTestTheme {Surface(color MaterialTheme.colors.background,) {AutoIncrementTest2()}} }Composable fun AutoIncrementTest2() {var count mutableStateOf(0)Row(modifier Modifier.padding(20.dp),verticalAlignment Alignment.CenterVertically) {Text(text ${count.value},Modifier.padding(horizontal 15.dp))//用到的时候需要.value获取Button(onClick { count.value }) {Text(text auto-increment )}} }我们把变量改成使用mutableStateOf函数但是我点击按钮Text的显示依然不会改变为啥呢 原因是在count改动的时候Surface接收的这个Composable函数就会重绘即将这个AutoIncrementTest2函数从头调用一遍每次调用时候走到第一行语句count就又赋值为0所以看起来就是没有改变依然是0。 在这种情况下假如还想记住上一次变量值就要用到remember来看下修改后的代码 setContent {ComposeTestTheme {Surface(color MaterialTheme.colors.background,) {AutoIncrementTest2()}} }Composable fun AutoIncrementTest3() {var count remember {mutableStateOf(0);}Row(modifier Modifier.padding(20.dp),verticalAlignment Alignment.CenterVertically) {Text(text ${count.value},Modifier.padding(horizontal 15.dp))//用到的时候需要.value获取Button(onClick { count.value }) {Text(text auto-increment )}} }这时候在点击按钮的时候Text上显示的就是自增的数字。 您可以将 remember 视为一种在组合中存储单个对象的机制就像私有 val 属性在对象中执行的操作一样。 当然我们还可以优化下上面每次使用count的时候都需要用.value来获取这里再引入一个关键字by修改后的代码如下 setContent {ComposeTestTheme {Surface(color MaterialTheme.colors.background,) {AutoIncrementTest2()}} }Composable fun AutoIncrementTest3() {var count by remember {mutableStateOf(0);}Row(modifier Modifier.padding(20.dp),verticalAlignment Alignment.CenterVertically) {Text(text ${count},Modifier.padding(horizontal 15.dp))Button(onClick { count }) {Text(text auto-increment )}} }使用by实现了属性委托就是属性的 set、get 的操作交给另一个对象器完成。我们可以间接读取 count 并将其设置为可变而无需每次都显式引用 MutableState 的 value 属性。 总结 mutableStateOf 表明某个变量是有状态的对变量进行监听当状态改变时可触发重绘。remember 记录变量的值使得下次绘制执行的时候不会再次进行初始化。 三、rememberSaveable 的使用 remember 函数仅在可组合项包含在组合中时起作用。旋转屏幕后整个 activity 都会重启所有状态都将丢失。当发生任何配置更改或者进程终止时也会出现这种情况。 可以使用 rememberSaveable而不使用 remember。这会保存每个在配置更改如旋转和进程终止后保留下来的状态。 var shouldShowOnboarding by rememberSaveable { mutableStateOf(true) }运行应用旋转屏幕更改为深色模式或者终止进程。除非您之前退出了应用否则系统不会显示初始配置屏幕。 参考文章 Compose中的remember和mutableStateOf Google官方教程
http://www.hkea.cn/news/14345445/

相关文章:

  • 公司网站简介网站设计师英文
  • 网站营销平台代理商有哪些做淘宝素材的网站
  • 网站广告推广技巧分享网络推广是做什么工作的
  • 如何做网站免费教程网页版微信登录二维码
  • 萧山大江东规划国土建设局网站申请自己的网站空间
  • 建设网站 注册与登陆怎么制作图片文档
  • 南阳网站seocpanel 安装wordpress
  • 网站建设程序招聘代理网点什么意思
  • 比价网站源码整站程序三合一网站是什么
  • 计算机网站维护建设怎么看一个网站是用什么代码做的
  • 龙泉网站开发徐州网站建设求职简历
  • 北京免费建站网络营销wordpress模板调用数据库
  • 怎么打帮人做网站开发的广告遵义网约车有哪些平台
  • 在越南做一个网站怎么做网站开发后期维护
  • 在百度上如何上传自己的网站在线短网址缩短工具
  • 扬州市市政建设处网站云电脑免费体验30天
  • 网站内文章外链如何做淮北刚刚发生的事
  • 网站栏目设置说明腾讯企业邮箱注册申请免费
  • 电商网站订烟平台湖南省住房城乡建设厅网站
  • 购买了网站如何使用吗做电影网站失败
  • 网站后台没有编辑器企业网站设计论文摘要怎么写
  • 试用网站模版软盟软件 app开发公司
  • 工商网站查询企业信息查询官网选择seo网站排名优化
  • 个人网站设计作业企信查官网
  • 织梦网站产品企业邮箱注册方法
  • 专业建站公司建站系统网站开发的概念
  • 医院网站怎么建设慈溪网站建设报价
  • 电商品牌授权网站运营方案怎么做
  • 全球搜索引擎网站网页设计公司金华
  • 网站建设项目实训心得软文广告投放平台