点击“空格”时,防止EditText转到新行

时间:2017-11-23 02:38:31

标签: android android-layout android-edittext

我希望有一个EditText,它是多行和句子的第一个字母作为资本。我正在使用:

<EditText
        android:id="@+id/editText2"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="32dp"
        android:layout_marginTop="67dp"
        android:background="#ddebed"
        android:ems="10"
        android:inputType="textMultiLine|textCapSentences"
        android:singleLine="false"
        android:text="@string/same" />

我可以实现两者:MultiLine和CapSentences。 但是,当我在一个单词后按“空格键”时,它会转到一个新行。 我该如何预防?

android:text="@string/same"指的是<string name="same">\n \n \n Regards: Principal</string> 所以,问题是由 \ n 引起的。  我想要一个EditText,它在下一行中有一些已经输入的文本,并允许用户在First'n'行中输入一些文字。

3 个答案:

答案 0 :(得分:2)

使用android:maxLines="1"android:inputType="text"

您的Edittext应如下所示。

<EditText
        android:id="@+id/editText2"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="32dp"
        android:layout_marginTop="67dp"
        android:background="#ddebed"
        android:ems="10"
        android:maxLines="1"
        android:inputType="text|textCapSentences"
        android:text="@string/same" />

如果您正在寻找多行,可以将编辑文字编辑为

android:inputType="text|textMultiLine|textCapSentences"

同样,您可以增加android:maxLines="2"

我已经检查过了。您可以使用以上代码进行一些以下修改。

EditText editText = (EditText)findViewById(R.id.editText2);
editText.setSelection(0);

它会将光标移动到位置0.同时尝试增加maxlines值。我已经检查了它,它工作正常。

答案 1 :(得分:0)

尝试在xml中使用此标记。

android:singleLine="true"

答案 2 :(得分:0)

你可以在\ n之前添加两个隐藏空格。 添加隐藏空间:Alt + 0160(Numpad键)。 因此,当用户输入内容时,隐藏空间将继续移动,而UserText将无法访问\ n。