新手Android程序员在这里。我正在创建一个带有EditText的xml布局,其宽度应该更改为适合文本内部 - 文本可以由用户或以编程方式更改。我发现当文本超过4个字符时,EditText会停止展开并将多余的字符保留在屏幕外。 这是我的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.appname.MainActivity" >
<EditText
android:id="@+id/textview1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_above="@+id/seekbar1"
android:layout_alignLeft="@+id/textview2"
android:ems="10"
android:imeActionLabel="Done"
android:imeOptions="actionDone"
android:inputType="phone"
android:text="@string/NaN" />
//Other objects...
</RelativeLayout>
阅读wrap_content上的文档,我认为它会做我想要的。我错了吗?谢谢你的帮助!
答案 0 :(得分:0)
首先,你已经修复了edittext的宽度
机器人:layout_width =&#34; 100dp&#34;这应该改为wrap_content。
其次即使你这样做也不行,因为换行内容不能像那样工作。如果必须动态更改EditText的大小,则必须扩展TextWatcher类并覆盖texttext()或afterTextChanged()上的方法。在此方法中,您必须根据键入的字符动态分配width属性。