2

我在一些设备上遇到了我的 EditText 的问题。我有几个 EditText 在活动中。此外,我可以选择让用户调整字体大小。当用户选择一个大字体,然后又回到一个较小的字体时,EditText 的小部件的高度不会缩小以适应较小的字体(额外的填充)。我只在少数设备上观察到了这种行为;大多数工作都很好。有什么建议吗?我发现这一点,Resizing TextView does not shrink its height on Android 3.1,我认为这可能是相关的,但添加建议的转义码似乎没有帮助。谢谢!

添加:

    <LinearLayout
        android:id="@+id/linearLayout_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center_horizontal"
        android:focusableInTouchMode="true"
        android:descendantFocusability="beforeDescendants"
        android:background="@drawable/yellow" >

        <EditText
            android:id="@+id/editText_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="4dp"
            android:minWidth="@dimen/add_note_min_width"
            android:textSize="18dip"
            android:background="#fa0"
            android:ems="10"
            android:hint="@string/title"
            android:inputType="text"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/editText_body"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="0dp"
            android:gravity="top"
            android:minWidth="@dimen/add_note_min_width"
            android:minHeight="@dimen/add_note_min_height"
            android:textSize="18dip"
            android:background="#af0"
            android:ems="10"
            android:hint="@string/body"
            android:inputType="textMultiLine" />
    </LinearLayout>

这是相关代码的 xml。正如我上面所说,我已尝试按照提供的链接中的建议将 \u3000、\u2060 和 \u200b 转义字符添加到文本的末尾(独立地)。另外,我将底部的 EditText 设置为 1 的布局权重,以尝试占用标题 EditText 下方的额外填充。我曾考虑尝试手动测量并调整 EditText 的大小,但这似乎很棘手,尤其是因为这只影响少数设备。这似乎是 Android 的一个实际错误,但我无法确认或找到解决方法。

4

1 回答 1

0

我终于解决了这个问题。正如我链接的另一篇文章中所建议的,一种解决方法是将“\u3000”、“\u2060”或“\u200b”附加到视图的文本中。这适用于 TextViews,但我的 EditText 使用提示时,特殊字符也必须附加到提示中(我只是附加到文本中)。希望这对其他人有帮助。

于 2013-03-14T04:04:43.907 回答