这周工作的期间遇到一个问题,问题很棘手,严重影响体验和使用。
问题描述:当页面中含有TextField的时候,如果点击了textField以外的地方直接导致页面卡住,点击任何地方都没有反应,也不是ANR,就是触摸整个页面没反应,感觉是焦点获取的问题。很奇怪的是点击返回按钮是可以回退到前一个activity,这就令我感到奇怪。利用Preview单独运行预览界面的时候又不会发生这样的情况。这。。。。。
我反复斟酌是我gradle哪里配置错了,修改了编译的参数,也是不好用。
我使用compose开发前已经写了很多demo了,才敢尝试在项目中使用,效率提高了不是一点半点,
最近遇到的问题也令我非常头疼。因为我提测的版本也测试出了偶尔整个页面卡住的问题,这令我很无语。
最后我实在没办法,让整个compose的根布局有点击事件,然后去除水波纹效果,拿到控制键盘的函数,点击事件触发的时候关闭键盘并清除焦点,这样就不会有点击非焦点区域导致的卡顿问题,给整个根布局添加点击事件并不影响其他点击事件的处理。(手机打字就不贴代码了)
目前暂时用这个办法处理,我实在不想再退到XML布局了。
另外,我在没有text field控件的布局也发现了这样的问题。为什么我从GitHub下载的别人的demo没有发现这样的问题??我的界面也很简单啊。
如果后面发现了问题再更新。