RelativeLayout中的EditField具有输入延迟

时间:2013-05-08 17:40:11

标签: android android-edittext lag

所以我有一个相当简单的布局,我发生了一些奇怪的交互。

当我在“search_field”EditText上键入时,输入按预期工作。当我输入search_field2字段时,输入是随机滞后和慢的。不是每个角色都是,但它的延迟足以使其无法使用。

2个editText字段之间的唯一区别是滞后的字段嵌套在相对布局中。有谁知道可能导致它的原因?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_margin="10sp"
>
    <EditText
        android:id="@+id/search_field"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:imeOptions="actionDone"
        android:background="#FFF"
        android:inputType="textPersonName"/>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    >
        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:id="@+id/search"
            android:src="@drawable/ico_search"/>
        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_toLeftOf="@+id/search"
            android:text="Top recognized"/>
        <EditText
                    android:id="@+id/search_field2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/title"
            android:ems="10"
            android:imeOptions="actionDone"
            android:background="#FFF"
            android:inputType="textPersonName"/>
    </RelativeLayout>
    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/order"
    ></ListView>


</LinearLayout>

1 个答案:

答案 0 :(得分:1)

我们在应用程序中遇到了类似的问题。不幸的是,除了避免RelativeLayout之外,我们从未找到任何解决方案这似乎是这个的罪魁祸首,我只是不知道为什么。我们的解决方案是使用LinearLayout,然后放置一些不同的东西。如果您喜欢RelativeLayouts,则不是最佳选择,但在我们的情况下,Linear并不太难使用。