Android wrap_content不会换行

时间:2014-10-02 21:51:58

标签: android xml

新手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上的文档,我认为它会做我想要的。我错了吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

首先,你已经修复了edittext的宽度

机器人:layout_width =&#34; 100dp&#34;这应该改为wrap_content。

其次即使你这样做也不行,因为换行内容不能像那样工作。如果必须动态更改EditText的大小,则必须扩展TextWatcher类并覆盖texttext()或afterTextChanged()上的方法。在此方法中,您必须根据键入的字符动态分配width属性。