Android软键盘卡住可见布局直到关闭

标签 android android-layout keyboard android-edittext

我有一堆EditText位于 LinearLayout 中在 ScrollView 内.当我点击其中一个时,软键盘正常出现,我的EditText显得专注。但是当我输入时,文本不显示。甚至没有显示光标。当我点击另一个 EditText , 或应进行可见更改(添加 View )的按钮,或单击键盘上的下一步,视觉上没有任何更改 .但是一旦我关闭键盘(使用后退按钮或以编程方式),我终于可以看到变化:输入的文本出现并且想要EditText被选中。

好像一切正​​常,只有屏幕被卡住,直到我关闭软输入,然后我才能看到进度。

为什么会发生这种情况,我该如何解决?
以编程方式关闭键盘无法通过,因为我需要键盘上的 Next 按钮才能工作,并且不断打开/关闭使我的 UI 看起来令人困惑。

我的 EditText 's 都是这样的,只有 ID 和 Hint 不同。

<EditText
    android:id="@+id/dataFullName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:hint="Personal name"
    android:inputType="textNoSuggestions|textPersonName|textVisiblePassword"
    android:textColor="#FFFFFF" />

这是ScrollViewLinearLayout那是我的EditText
<ScrollView
    android:id="@+id/generalsScrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >


        <!-- my EditText's here -->


        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="Additional information:"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@android:color/white"
            android:textSize="@dimen/additional_text" />

        <LinearLayout
            android:id="@+id/generalsContainer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/additional_margin"
            android:orientation="vertical" >
        </LinearLayout>

        <LinearLayout
            android:id="@+id/generalsAdder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <Button
                android:id="@+id/newGeneralButton"
                android:layout_width="96dp"
                android:layout_height="32dp"
                android:layout_gravity="center_horizontal"
                android:layout_weight="1"
                android:background="@drawable/bttn_bg"
                android:onClick="newGeneralButtonPressed"
                android:text="Add"
                android:textColor="@android:color/white"
                android:textColorHint="@android:color/white"
                android:textColorLink="@android:color/white" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

最佳答案

我刚刚又解决了我的问题。在同一个 LinearLayout 中有太多的 EditText。所以我只是把它们分成2个LinearLayout,现在很好。有谁知道为什么会这样?

关于Android软键盘卡住可见布局直到关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410548/

相关文章:

java - 如何使用正则表达式匹配字符串

android - AndEngine:注册和注销物理连接器的问题

android - RelativeLayout 支持多种屏幕尺寸

c# - (VB 或 C#)在系统托盘中运行应用程序并在应用程序未处于焦点时收听键盘输入

iOS 11.1 键盘错误

android - 将 Activity 或 Context 传递给其他实例

android - 在 Phonegap Android 应用程序中安装 FacebookConnect 插件时出错

android - 新的安卓市场布局

android - CardView 未显示在 TextView 下方

c++ - 如何从 C++ 程序修改键盘中断(在 Windows XP 下)?