2016-12-29 167 views
5

我已經實現以通常的方式用密碼字段TextInputLayout:Android密碼可見性切換不支持支持庫25?

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <EditText 
     android:id="@+id/returning_password" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/prompt_password" 
     android:inputType="textPassword" 
     android:maxLines="1" 
     android:textSize="14sp" /> 

</android.support.design.widget.TextInputLayout> 

這採用的是Android支持庫高達24.0.2版本時工作得很好,但切換到25.0.1之後:

compile 'com.android.support:design:25.0.1' 
compile 'com.android.support:support-v4:25.0.1' 
compile 'com.android.support:appcompat-v7:25.0.1' 
compile 'com.android.support:support-vector-drawable:25.0.1' 

我不再在窗口小部件中看到密碼可見性切換(又名「眼睛圖標」)。更改爲最新版本25.1.0不能解決此問題。

有什麼我錯過了,需要與支持庫25結合改變,或者這可能是Android的問題?

回答

14

試試這個方法。

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:passwordToggleEnabled="true"> 

<EditText 
    android:id="@+id/returning_password" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="@string/prompt_password" 
    android:inputType="textPassword" 
    android:maxLines="1" 
    android:textSize="14sp" /> 

</android.support.design.widget.TextInputLayout> 

這可能對您有所幫助!

默認情況下禁用TextInputLayout密碼切換,以避免不必要地覆蓋開發人員指定的結束drawable。它可以通過passwordToggleEnabled XML屬性手動啓用。

Recent Support Library Revisions

+0

完美的答案,謝謝!這會立即修復它,下次更新庫版本時,我會密切關注該鏈接。 – Cuculus

+0

不客氣..享受編碼:) –

+0

刪除密碼roboto默認字體使用'android:typeface =「normal」' –

0

你並不需要添加以下內容:

app:passwordToggleEnabled="true" 

只是改變你的依賴關係:

compile 'com.android.support:design:25.0.0' 

這是我面對過,而更新的依賴同樣的錯誤。

編輯:

現在

app:passwordToggleEnabled="true"

正在與,

compile 'com.android.support:design:25.3.0' 
+0

謝謝@Shanky ...真棒... !!! –

1
<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:passwordToggleEnabled="true"> 

應用:passwordToggleEnabled = 「真」>

<EditText 
    android:id="@+id/edt_password" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Password" 
    android:inputType="textPassword" 
    android:maxLines="1" 
    android:textSize="16sp" /> 

</android.support.design.widget.TextInputLayout> 

編譯 'com.android.support:design:25.0.1'

編譯 'com.android.support:support-v4:25.0.1'

編譯「com.android。支持:程序兼容性-V7:25.0.1'

編譯 'com.android.support:support-vector-drawable:25.0.1'