如何在显示软键盘时保持所有字段和文本可见

我在这个登录屏幕上工作,我希望在显示IME时调整所有字段,文本和按钮的大小。 我已经在androidManifest.xml中使用了android:windowSoftInputMode =“adjustResize”,但我仍然在其他人的下面找到了一些元素。

如果TextView“Cadastre Agora”(id = cadastrar)仍然由虚拟键盘覆盖,我无所谓。 但是,只要有几个元素,我试图至少使EditTexts(和他们的TextViews)和按钮可见。

我发现这个未答复的问题可能是一个有趣的方法:http://stackoverflow.com/ questions / 6484024 / soft-keyboard-keep-one-view-stationary-while-moving-other

感谢您的帮助!

没有输入法的屏幕:http://imageshack.us/photo/my-images/138/semttulo2mr.png/

IME屏幕(TextView1隐藏):http://imageshack.us/photo/my-images/404/semttulo3xw.png/

Stackoverflow抱怨我的代码格式化,所以我上传了这里的xml文件:https://rapidshare.com /files/1767398103/login.xml我不能发布超过2个链接,这就是为什么我把空格放在其中。


在这种情况下,我会说你的初始布局(没有键盘显示)已经成问题了。 鉴于您正在创建纯粹是登录屏幕的内容,将所有控件放在屏幕的上半部分并在用户访问该页面时自动显示键盘是可以接受的。 这使得用户的体验更加快速,并且节省了您必须提供灵活的布局。

但是,如果您想在两个视图中尝试并使布局工作,则需要将控件之间的间距更改为动态。

例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width = "fill_parent"
    android:layout_height = "fill_parent"
    android:orientation="vertical"
    >
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- Username Controls here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- Password Controls here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- Login Button here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- TextView here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
</LinearLayout>

为了正常工作,除了文本框标签之间的填充之外,必须从控件中删除所有垂直填充。

链接地址: http://www.djcxy.com/p/93419.html

上一篇: How to keep all fields and texts visible while the soft keyboard is shown

下一篇: Disable editText soft keyboard completely