我在一些设备上遇到了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的一个实际错误,但我无法确认或找到解决方法。
答案 0 :(得分:0)
我终于解决了这个问题。正如我链接的其他帖子中所建议的,解决方法是在视图文本中附加“\ u3000”,“\ u2060”或“\ u200b”。这适用于TextViews,但在我的EditText使用提示的地方,特殊字符也必须附加到提示(我只是附加到文本)。希望这有助于其他人。