android - RelativeLayout 中的 EditField 有输入滞后

标签 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>

最佳答案

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

关于android - RelativeLayout 中的 EditField 有输入滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446927/

相关文章:

java - 控制台上的光标似乎很滞后

r - 在 R 中按组检查重叠开始和结束时间

android - 滚动时的Recycler View 和卡片创建多个副本

android - 如何在位图中缓存表面 View ?

android - Android中带回调函数的通用定时器类

android - EditText焦点问题

android - 编辑文本验证

android - 通过扩展 EditText 使用自定义类将 android 后缀设置为 EditText

sql-server - 递归检索前一条记录的 LAG() 值

javascript - WebView 导致应用程序崩溃