1. 程式人生 > >如何讓EditText無法換行?

如何讓EditText無法換行?

一個入門級的Android問題:如何讓EditText只顯示一行,無法使用軟鍵盤的回車鍵換行?

這個簡單的問題也有一個小坑在裡面。

EditText的xml佈局檔案裡面有很多有關於行數的屬性:

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/marginNormal"
        android:background
="@color/white" android:ellipsize="end" android:imeOptions="actionSearch" android:gravity="start|center_vertical" android:maxLines="1" android:lines="1"/>

除了已經過時的singleLines屬性,現在還有maxLines和Lines屬性可以設定。

然而你會發現,即使同時設定了maxLines=”1”和lines=”1”,你的EditText依然是可以換行的。

其實很簡單,只需要加上一條屬性:

android:inputType="text"

這時你設定的maxLines和lines就起作用了。

(這是個很簡單的問題,stack overflow上面很容易找到這個解決方案,可是你在百度上卻搜不到這個。百度前幾條全是讓你設定maxLines和lines的,要麼是讓你動態設定setOnEditorActionListener的。其實根本不需要這麼麻煩。)