adjustResize和adjustPan的比较
在下面的描述中,编辑框的maxLine都设定为10。
在信息列表界面中,编辑框在RelativeLayout中定义。编辑框上边(above)的列表组件的高度不会缩小为0,导致显示出现一点问题。
当信息列表中有信息时,当输入一定行数,比如超过9行,编辑框上边会出现重叠的内容。
当信息列表中没有信息时,编辑框上边没有任何重叠。
将RelativeLayout改成LinearLayout,在编辑框上边的listView控件的height设定为0dip且weight设定为1。
将Activity都设定为adjustResize模式。在软键盘弹出时,列表控件的高度会逐渐缩小直至为0。
比较两个截图的区别。
在信息列表界面,编辑框将列表控件的区域全部占领。占领之后还是不够将编辑框全部显示。以至于编辑框下边有一小部分被软键盘挡住。
在新建信息界面,编辑框被缩小了,使得编辑框不会被软键盘挡住。查看布局定义,新建信息的编辑框放在FrameLayout中。
将Activity设定为adjustPan模式之后再做比较,如下所示。
查看截图。当软键盘显示出来时,如果当前光标被软键盘挡住,整个屏幕会往上平移,直到可以看到光标(即可以在编辑框中输入内容)为止。所以会出现这个现象:编辑框一部分被软键盘挡住,只有光标及其上边的部分不会被软键盘挡住。
不管屏幕布局是RelativeLayout还是LinearLayout,当Activity设定为adjustPan模式时,效果都是一样的。点击编辑框时,软键盘弹出来。如果光标被软键盘挡住,那么整个屏幕往上平移,直至看到光标为止。
布局文件定义见:比较MessageListActivity使用不同的layout
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架