我在带有android:inputType="textPassword"
的TextInputLayout中显示密码图标时出现问题。现在它显示为
你可以看到它们之间的差距。
实现TextInputLayout的xml sode如下:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/TextLabelSNA"
app:layout_constraintTop_toBottomOf="@+id/mailSave"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginRight="16dp"
android:id="@+id/tilOp"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintVertical_bias="0.0">
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textPassword"
android:hint="Old Password"
android:ems="10"
android:textColor="#0A0B12"
android:id="@+id/oldPassword"/>
</android.support.design.widget.TextInputLayout>
使用的样式是:
<style name="TextLabelSNA" parent="Widget.Design.TextInputLayout">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">@color/hintBlack</item>
<item name="android:textSize">16sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">@color/hintBlack</item>
<item name="colorControlNormal">@color/hintBlack</item>
<item name="colorControlActivated">@color/hintBlack</item>
</style>
请帮助.. !!!
答案 0 :(得分:41)
在textinputlayout中添加app:passwordToggleEnabled =“true”
<android.support.design.widget.TextInputLayout
app:layout_widthPercent="90%"
android:layout_height="wrap_content"
android:hint="@string/password"
android:textColorHint="@android:color/white"
app:passwordToggleEnabled="true"
app:passwordToggleTint="@android:color/white">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:textColor="@android:color/white"
android:visibility="gone"
/>
</android.support.design.widget.TextInputLayout>
答案 1 :(得分:1)
请检查您的支持库版本:如果是,24.2.0
库有错误
然后制作版本:24.2.1
使用此代码。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"
android:imeActionId="@+id/login"
android:imeActionLabel="@string/action_sign_in_short"
android:text="a1234"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
答案 2 :(得分:1)
这可能是其他人注意到的错误并报告here。
答案 3 :(得分:0)
<android.support.design.widget.TextInputLayout
android:id="@+id/inputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/txtpwd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:drawableLeft="@drawable/lock"
android:ems="10"
android:hint=" Password"
android:imeOptions="actionGo"
android:inputType="textPassword"
android:padding="10dp">
</EditText>
</android.support.design.widget.TextInputLayout>
答案 4 :(得分:0)
如果您想删除错误图标 - (以防万一) 您可以在 TextInputLayout 中添加这一行。
app:errorIconDrawable="@null"
答案 5 :(得分:-2)
在您的gradle中添加库依赖项
dependencies {
compile 'com.github.scottyab:showhidepasswordedittext:0.8'
}
然后添加远程maven网址
allprojects {
repositories {
maven {
url "https://jitpack.io"
}
}
}`
最后在你的xml中添加它。就像常规的EditText
一样 <com.scottyab.showhidepasswordedittext.ShowHidePasswordEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/simplePassword"
android:hint="Password"
/>
有关详情,请浏览此链接 Show/Hide Password EditText