• Paul Shan
    2022-04-08
    我参与开发的项目已经全面拥抱Compose,过程中遇到很多问题,例如多行的Textview想在右边显示一个垂直的滑动条,我仔细找了一下,没找到解决方案,只能用AndroidView+xml+android:scrollbars="vertical",老师如果知道解决方案,望不吝赐教。我还遇到一个情况,MutableState按照谷歌的文档,里面值改变(value指向新的对象)的时候,会recompose。但是在实际的某些UI响应中改变值却没有recompose,导致状态没有更新。这个问题困扰了我很久,一度让我认为Compose还没有成熟到可以解决复杂的UI问题,后来发现把MutableState里面的对象拆成简单类型(例如整型,字符串)可以解决问题。这种写法破坏了类的内聚性,但是Compose还有bug的情况下不得不做出妥协。 Compose 遇到的最大问题就是思路的转变,原来的view类都是一个个有状态的对象,对象之间有复杂的继承关系,把他们全转成函数,我没有找到通用的方法,只能特事特办。例如,我遇到一个树状的UI,里面的view是父子结构,最终转化成Compose的时候用了递归函数。老师如果有机会的话可否在多讲一些Kotlin函数式编程的内容,个人觉得Kotlin函数式编程是Android开发人员将来不得不掌握的内容,函数式编程本身又是一个很大的的课题,值得大书特书。
    展开

    作者回复: Textview想在右边显示一个垂直的滑动条:这个确实没有现成的,你的方式也是最直接的,不然就得用Compose自己写,这不划算。 Recompose,这块官方其实还有不少优化的空间,你可以试着提供一个Demo,或者去提个issue。 关于函数式编程,对于学习Compose确实比较重要,不过我不能保证将来会开这门课哈~

    
    3
  • 追梦小乐
    2022-04-08
    老师,Compose 在国内应用的广吗?!

    作者回复: 国外目前应用比较广,国内说实话还不太多。不过,我相信它会越来越受欢迎的。

    
    2
  • H.ZWei
    2022-04-08
    老师能对讲讲鸿蒙的看法吗,前几天在官网的文档看到,华为好像也在慢慢抛弃Java,在鸿蒙3.0上重点更新Js的环境,据说3.0开始会不兼容Android应用,未来在国内是不是会大量挤压Android的空间。

    作者回复: 鸿蒙后续的发展方向未知,这一点我也不确定。不过,在已知鸿蒙现阶段兼容Android的情况下,后续不再支持的概率应该不大。

    共 2 条评论
    2
  • ZircoN
    2022-04-08
    卡顿检测框架 LeakCanary -> 内存泄露检测框架 LeakCanary

    作者回复: 笔误了,感谢提醒。

    
    
  • 无咎
    2022-06-17
    好久不写Android应用,最近想写了,发现涉及到Kotlin的代码越来越多了,虽然看了基本语法,还是没有把握,所以只好来学习课程了。 与其被动裹挟,不如主动拥抱变化,认真学习,积极实践。 当然转换思路,切换语言和库也是有成本的,但也是值得的,有些常见问题甚至没有现成方案,也没什么好怕的,耐心逐步解决。
    
    1
  • 墨水
    2023-06-16 来自广东
    我是脑子一热自己的应用上了kotlin,由于理解的不到位狠狠的被kotlin虐了一把
    
    