重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在学习HarmonyOS的开发中,遇到TextField输入框被软键盘遮住的问题网上查找了一些解决方案,虽然效果也能达到,但是解决思路不正确,简单问题复杂化了,这里记录一下我发现的解决方法。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、甘南网站维护、网站推广。
理论上软键盘与输入框应该是常用功能,不应该让用户自己去计算组件高度,监控软键盘是否弹出,所以按照Android的思路也应该有全局设置方法。
Android 解决方法
跟着这个思路去查询鸿蒙开发文档,找到了两个类似的属性和方法:
WindowManager.LayoutConfig里面的 INPUT_ADJUST_RESIZE
和Window里面的 setInputPanelDisplayType()
经过多次尝试,终于找到设置软键盘自适应的正确方法,在onStart()函数中设置:
解决问题的思路和方向一定要正确
我们做为程序员,日志打印是日常必备工具,见下面几种语言的打印日志
所以在HarmonyOS 开发中也是要熟悉打印日志的,官方文档对日志系统的介绍
官方日志示例如下
其中打印语句如下,
细心的你,你肯定发现了,有一个参数 LABEL ,这个参数是在最前面定义的,如下
其中第一个参数基本是固定的 HiLog.LOG_APP ,第二个,第三个参数,我们可以自定义的, 后面会使用它们作为过滤来筛选日志
在我们开发中,到处都需要使用到打印,如果像官方示例一样,在每一个需要使用的地方,都先定义一个LEBAL,然后再去调用,这样就不太方便了, 也就是说我们有100个不界面,每个界面都需要先定义一下LEBAL,然后再去使用,这样就比较麻烦了, 因此我们需要对HiLog进行封装,封装成一个工具类,方便整个项目后面的使用
现在我们来解释一下
上图中的LABEL,我们在上前面已经讲过了,这里不在赘述了.我们看一下 flag ,这个参数用来标记,如果是开发阶段,就置为fasle,让其能正常输出日志, 如果是生产阶段(产品上线),就置为true,让其不能输出日志
效果如下:
看到这里的小伙们,或者觉得文章对你有点帮助的话,请点赞加关注喽,您的反馈就是我们前进的动力。后续会分享更多关于鸿蒙开发(HarmonyOS)的干货。谢谢~~
参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录
华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。
贴一下官方的调试流程图:
总结一下:
上面这个流程可以忽略,没讲到重点。真机调试是需要在 AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。
先决条件:
1. 鸿蒙手机通过USB连接电脑,并开启USB调试。
2. 一个华为开发者账号,实名认证
3. APP开发工具DevEco-Studio
关键流程:
1. Studio创建应用
2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”
3. AppGallery创建应用(包名和Studio创建的一样)
4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动
5. Studio中Build Generate key and CSR 生成p12和csr文件
6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)
7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)
8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)
9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件
10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了