1

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

当我在“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>
4

1 回答 1

1

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

于 2013-05-27T13:00:23.453 回答