2011-03-31 97 views
25

每當在EditText框中輸入一個單詞時,我總是在被鍵入的單詞下看到下劃線。但是當我在這個單詞後面按一個空格時,我不再看到下劃線。如何從Android的EditText字段中刪除下劃線?

我的意願是在用戶輸入消息時刪除下劃線。

新增了截圖,我們看到史密斯強調。但我不希望發生這種情況。

下面是我用於AlertDialog框的xml。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical"> 

<TextView 
    android:id="@+id/name_view" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_marginLeft="20dip" 
    android:layout_marginRight="20dip" 
    android:text="@string/alert_dialog_name" 
    android:gravity="left" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<EditText 
    android:id="@+id/username_edit" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:layout_marginLeft="20dip" 
    android:layout_marginRight="20dip" 
    android:scrollHorizontally="true" 
    android:autoText="false" 
    android:inputType="textPersonName" 
    android:capitalize="none" 
    android:gravity="fill_horizontal" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 
</LinearLayout> 

enter image description here

+1

詞的出現正在輸入的(至少在自動完成)從相同也可以不同。例如,在Android 2.2上的HTC SenseUI上,自動完成考慮下的當前單詞以綠色突出顯示。你爲什麼要搗亂用戶期望在他們習慣的特定設備/鍵盤上看到什麼? – 2011-03-31 18:25:30

+0

我只是想使用任何用戶類型並將其發送到服務器,我不希望寫任何邏輯來刪除最後加下劃線的單詞。 – Sana 2011-04-01 03:18:25

+1

這是IME特定的。如果您希望IME儘可能少干擾,您可以使用不同的'inputType',但在這種情況下,您使用的是正確的類型,並且它按照它認爲最適合此特定類型的輸入的方式進行操作,並且這也是用戶期望的。 – EboMike 2011-04-01 08:29:55

回答

7

您不必使用任何邏輯刪除下劃線 - 只需要調用的getText()的toString()當你想使用的值。它不會包含特殊格式或任何內容。

13

有一個功能可以刪除任何組成狀態。我認爲如果每次用戶輸入後都打電話,就不會看到下劃線。我在用戶輸入完成後使用它,以獲得整個textView的繪圖緩存(我不需要下劃線)。這是

someTextView.clearComposingText(); 
54

android:inputType="textNoSuggestions"

+2

這爲我解決了完美的問題。 – 2016-03-15 09:42:32

+1

完美作品 – 2016-03-30 06:16:04

+0

謝謝你,你是最好的 – 2017-07-14 16:49:47

0

嘗試:

android:inputType= InputTypes.TextVariationVisiblePassword; 
2

使用該從你的類,如果EditText上的觀點是動態的(從類文件創建):

EditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

OR包括android:inputType="textNoSuggestions"與您的EditText在XML中。

9

接受的答案沒有給出解決方案,以及其他一些用戶給出的答案,但沒有人給予充分的雁,所以這就是爲什麼我寫在這裏工作的解決方案。

如果你想刪除下劃線,那麼只需添加下面的代碼。

XML

android:inputType="textNoSuggestions" 

的Java

EditText ed; 
ed = findViewById(yourId); 
ed.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

如果你想設置,則多個輸入類型,

ed.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

可能是上面的信息是幫助他人。

0

您可以設置的EditText有一個自定義的透明可拉伸或只使用Android:背景=「@安卓:彩色/透明」。

-1
<EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@null" 
     android:imeOptions="actionDone" 
     android:inputType="textNoSuggestions" 
     android:maxLines="1" 
     /> 
+3

你需要解釋你的代碼,而不僅僅是拋出它。 – 2017-11-09 11:55:16

+0

什麼inputType你給它沒關係,但也需要給textNoSuggestions使用或符號(|)然後下劃線將去。 – 2017-12-02 10:07:22

-1

這樣做的最好的辦法是在你的EditText補充:

android:inputType="textMultiLine|textVisiblePassword" 
+0

嗨,歡迎來到Stack Overflow並感謝您的回答。偉大的答案還包括解釋原始問題是什麼故障以及爲什麼這個答案解決了這個問題。 – Spangen 2018-02-23 11:56:38

相關問題