Android EditText/TextView高度调整大小的问题



我在几个设备上的EditText有问题。我在一个活动中有几个EditText。此外,我还为用户提供了调整字体大小的选项。当用户选择一个大字体,然后返回到一个较小的字体时,EditText小部件的高度不会缩小以适应较小的字体(额外的填充)。我只在一些设备上观察到这种行为;大多数工作都很好。任何建议吗?我发现这一点,调整TextView不会缩小其高度在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的一个真正的bug,但我无法确认这一点,也无法找到解决办法。

终于解决了这个问题。正如我链接的另一篇文章中所建议的那样,一个解决方法是将"u3000","u2060"或"u200b"附加到视图的文本中。这对textview很有效,但是当我的EditText使用提示时,特殊字符也必须追加到提示(我只是追加到文本)。

最新更新