首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不一致行为

不一致行为
EN

Stack Overflow用户
提问于 2013-12-12 20:07:55
回答 1查看 61关注 0票数 0

我有一个程序,它使用Android设备作为另一个基于PIC的系统的接口。Android有两种操作模式--一种是提供人机界面风格的显示器,显示连接系统的状态;另一种,它充当一个哑巴终端,允许我对监控系统进行编程和修改。

我正在使用一个片段来处理终端活动。它有一个TextView,显示过去输入的文本和响应的历史,另一个TextView允许我输入命令行。在启动程序和访问终端显示时,触摸文本条目TextView会打开键盘,另外两个TextViews向上移动显示器,为其腾出空间。这就是我想要的。

我可以通过保存FragmentInstanceState,然后使用fragTrans.hide()来访问人机界面显示器。如果我返回到终端片段并开始重新输入文本,那么键盘现在覆盖两个TextViews,它隐藏了文本输入框。

这两种模式的唯一不同之处在于,在重新输入片段时,我使用fragTrans.show()来显示终端模式:当第一次启动时,我使用fragTrans.add()。

终端的第一次使用和随后的访问之间的另一个变化是,我用于访问终端的按钮最初是覆盖的,但稍后出现在键盘之上。

这个问题是由于fragment.show()函数和fragment.add()函数之间的差异造成的,还是缺少了另一个方面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-12 20:12:37

我相信这和你用来保存这些碎片的活动有关。在清单文件中,向活动中添加以下代码,以便在显示软输入时使屏幕进行调整。

如果您正在使用两个活动,请确保它们都具有以下内容:

android:windowSoftInputMode="adjustPan"

代码语言:javascript
复制
<activity
    android:name="com.yourapp.MainActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="adjustPan" >
</activity>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20553212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档