6

我使用app:passwordToggleEnabled="true"顯示在TextInputEditText像下一張圖片密碼開關按鈕有TextInputEditText連同TextInputLayoutandroid:inputType="textPassword"

password toggle button example
問題是一旦我按下密碼切換按鈕,它永遠消失。
它在com.android.support:design:24.2.0版本中運行良好。
密碼切換按鈕,單擊支持庫後消失25.1.0

我是否缺少新的東西?這是一個錯誤?

一些gradle這個項目的設置:
的minSdkVersion 17
targetSdkVersion 25
編譯 'com.android.support:support-v4:25.1.0'
編譯「com.android.support:appcompat-v7:25.1 0.0'
編譯 'com.android.support:cardview-v7:25.1.0'
編譯 'com.android.support:design:25.1.0'

在2個不同的Android 6.0(棉花糖)運行設備。

XML:

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/TextLabelGray" 
    app:passwordToggleEnabled="true"> 

    <android.support.design.widget.TextInputEditText 
     android:id="@+id/profile_field_password" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/perfil_field_password" 
     android:inputType="textPassword" 
     android:maxLines="1" 
     android:maxLength="100" 
     android:imeOptions="actionNext" 
     android:imeActionLabel="@string/perfil_field_tipo_documento" 
     android:textColor="@color/colorAccent" 
     android:textSize="@dimen/perfil_text_view_text_size" 
     android:paddingStart="15dp" 
     android:paddingEnd="5dp"/> 
</android.support.design.widget.TextInputLayout> 

如果我在TextInputLayout使用app:passwordToggleDrawable具有自定義繪製它不會消失。

相關款式:

<style name="TextLabelGray" parent="TextAppearance.AppCompat"> 
    <!--//hint color And Label Color in False State--> 
    <item name="android:textColorHint">@color/gray_text_color</item> 
    <item name="android:textColorHighlight">@color/gray_text_color</item> 
    <item name="android:textColorLink">@color/gray_text_color</item> 
    <item name="colorAccent">@color/gray_text_color</item> 
    <item name="colorControlNormal">@color/gray_text_color</item> 
    <item name="colorControlActivated">@color/gray_text_color</item> 
</style> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="colorControlNormal">@color/colorControlNormal</item> 

    <item name="searchViewStyle">@style/AppTheme.MySearchViewStyle</item> 
</style> 
+0

我行的切換按鈕已經嘗試了相同的代碼,它工作。請檢查一次使用的主題。 –

+0

@AndroidGeek我嘗試不使用'android:theme =「@ style/TextLabelGray」',我發現按鈕不會消失,它只是變得透明,因爲我仍然可以按下它並隱藏/取消隱藏密碼行爲。 嘗試了黑色背景,但仍得到相同的結果。任何想法? – MiguelHincapieC

+0

使用'TextInputLayout'我發現這個:如果我在'app:passwordToggleDtentable'中使用'app:passwordToggleContentDescription'中的自定義繪圖按鈕並不會消失 – MiguelHincapieC

回答

1

變化gradle這個文件由以下依賴

compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:design:25.3.1' 
compile 'com.android.support:support-v4:25.3.1' 

在XML文件中,添加以下的密碼字段

<android.support.design.widget.TextInputLayout 
android:id="@+id/text_input_layout_password" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="10dp" 
app:passwordToggleEnabled="true"> 

      <android.support.design.widget.TextInputEditText 
      android:id="@+id/text_input_edit_text_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Enter Password" 
      android:imeActionId="@+id/login" 
      android:imeActionLabel="Login" 
      android:imeOptions="actionUnspecified" 
      android:inputType="textPassword" 
      android:maxLines="1" 
      tools:text="password" /> 

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

你好,ty的答案,但我認爲你需要檢查它在更多的真實設備,因爲它是一個錯誤。看看下面的[鏈接](https://issuetracker.google.com/issues/37127113#makechanges)。與我在問題中發佈的鏈接相同。 – MiguelHincapieC