Android - Edittext中的自动换行问题

时间:2011-01-12 07:49:53

标签: android android-edittext

我在EditText中设置WrapText类设施时遇到了麻烦。

问题:当我尝试在EditText中输入数据时,它会超出屏幕宽度(水平滚动)。而不应该出现在下一行。

想要执行:实际上,我想要实现多行编辑文本,最初它应该像往常一样显示单行,但是它会在输入数据时垂直扩展(不是水平)

请建议我该怎么办?

请看下面的图片:

alt text

我完成了以下XML编码:

<TableLayout 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:paddingTop="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:stretchColumns="1">

    <TableRow android:id="@+id/TableRow02" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView 
            android:text="Name:" 
            android:id="@+id/TextView01" 
            android:layout_width="80dp" 
            android:layout_height="wrap_content"
            android:textSize="16dip">
        </TextView>
        <EditText 
            android:id="@+id/txtViewName" 
            android:layout_height="wrap_content" 
            android:layout_width="wrap_content"
            android:inputType="textFilter|textMultiLine|textNoSuggestions"
            android:scrollHorizontally="false">
        </EditText>
    </TableRow>
</TableLayout>

5 个答案:

答案 0 :(得分:2)

您可以尝试将width更改为fill_parent.

答案 1 :(得分:1)

如果要将其包装在一行中,请尝试在编辑文本中添加以下代码:

android:singleLine="true"

如果你想要多线,或者将edittext的宽度设置为fill_parent或dip中的任何值。

答案 2 :(得分:1)

我只是更改了这一点: android:layout_width ="0dip" ,它运行正常。

多行edittext但最初显示的是一行,当输入越来越多的数据时,它将垂直展开(不是水平展开)。

答案 3 :(得分:1)

只需使用android:stretchColumns="1"android:shrinkColumns="1"代替唯一android:stretchColumns="1"

<TableLayout 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:paddingTop="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:stretchColumns="1"
    android:shrinkColumns="1">

答案 4 :(得分:-2)

我在2.1仿真器上测试了它,在这个相对布局中包含代码(在编辑文本中使用fill_parent)并且看起来没问题。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:stretchColumns="1">

    <TableRow android:id="@+id/TableRow02" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView
            android:text="Name:"
            android:id="@+id/TextView01"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:textSize="16dip">
        </TextView>
        <EditText
            android:id="@+id/txtViewName"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:inputType="textFilter"
            android:scrollHorizontally="false">
        </EditText>
    </TableRow>
</TableLayout>
</RelativeLayout>

也许您可以在日食轮廓窗口中导航xml树,看看哪个视图比屏幕更大。