2011-08-30 29 views
9

只是想知道,我是唯一遇到這種「奇怪」的行爲。EditText提示顯示額外的空格當inputType =「textpassword」

當放置我的活動內一個EditText並設置其 的inputType =「textPassword」如下:

<EditText android:text="" android:id="@+id/EditText01" 
      android:hint="This is a hint" android:inputType="textPassword" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> 

該提示顯示與單詞之間更大的/雙位。

如果我刪除了inputType屬性,它將全部恢復正常。 我找不到有關此行爲的已知問題。

BTW-如果你想知道爲什麼這很重要(這是不是很多)儘量 把兩個小部件的EditText以下某一其他和設置的inputType其中之一 爲「textpassword」它看起來並不好。 任何想法如何更改密碼或其他edittexts使用相同的格式?

謝謝

PS。問題首先在這裏添加:http://groups.google.com/group/android-developers/browse_thread/thread/88738bb8d8046f6f但我沒有找到答案。

回答

8

發生這種情況是因爲在密碼字段的情況下字體會自動設置爲等寬字體。在密碼字段上設置android:typeface="normal"不會有幫助。

這裏代碼TextView sources

if (password) { 
    setTransformationMethod(PasswordTransformationMethod.getInstance()); 
    typefaceIndex = MONOSPACE; 
} else if ((mInputType&(EditorInfo.TYPE_MASK_CLASS 
      |EditorInfo.TYPE_MASK_VARIATION)) 
      == (EditorInfo.TYPE_CLASS_TEXT 
        |EditorInfo.TYPE_TEXT_VARIATION_PASSWORD)) { 
    typefaceIndex = MONOSPACE; 
} 

我找不到不執行與提示被覆蓋的字體自定義的控制解決方案。

P.S .:有一種解決方案,但它並不總是可以接受的 - 將字體設置爲其他EditText上的等寬字體。

+0

非常感謝您的回答。它幫助了我。對我來說,字體=「等寬」解決方案。事情到處都是一樣的。 – Sebastian

+0

我很樂意幫助你。如果我的回答對您有幫助,請將其標記爲已接受的答案。 –

+0

謝謝,那幫了我 –

4

在做mEditText.setTypeface(Typeface.DEFAULT);修復了我的問題。

+0

不錯的解決方案。我爲此奮鬥了4個小時,終於得到了這個感謝budy – Krishna

相關問題