作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是activity_register.xml
:
<EditText
android:id="@+id/editTextTextPassword"
android:layout_width="346dp"
android:layout_height="49dp"
android:layout_marginTop="32dp"
android:drawableStart="@drawable/ic_vpn_key"
android:drawableEnd="@drawable/ic_visibility"
android:ems="10"
android:hint="@string/password_hint"
android:inputType="textPassword"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextTextEmailAddress" />
所以,
EditText
drawableEnd
时,您应该看到密码,而drawable应该更改为另一个密码,然后再次隐藏密码。
onClickListener
的教程
最佳答案
您需要的是Material Componenets中的 TextInputLayout
。
这是您的操作方式:
implementation 'com.google.android.material:material:1.3.0-alpha01'
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/passwordLayout"
style="@style/TextInputLayoutAppearanceFilled"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/password"
app:endIconMode="password_toggle" //This is used to set the password toggle behavior
app:startIconDrawable="@drawable/ic_lock_black_24dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:textSize="@dimen/_12ssp" />
</com.google.android.material.textfield.TextInputLayout>
styles.xml
中根据需要更改样式: <style name="TextInputLayoutAppearanceFilled" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="hintTextAppearance">@style/HintText</item>
<item name="helperTextTextAppearance">@style/HelperText</item>
<item name="android:textColor">@color/dark_grey</item>
<item name="android:textColorHint">@color/color</item>
<item name="hintTextColor">@color/color</item>
<item name="boxStrokeColor">@color/color</item>
<item name="startIconTint">@color/color</item>
<item name="endIconTint">@color/color</item>
<item name="boxBackgroundColor">@color/white</item>
<item name="boxCornerRadiusBottomEnd">@dimen/_26sdp</item>
<item name="boxCornerRadiusBottomStart">@dimen/_26sdp</item>
<item name="boxCornerRadiusTopEnd">@dimen/_26sdp</item>
<item name="boxCornerRadiusTopStart">@dimen/_26sdp</item>
<item name="boxStrokeWidthFocused">0dp</item>
<!--This destroys the visible layout in layout editor so first
comment this out to design-->
<!--<item name="boxStrokeWidth">0dp</item>-->
<item name="hintEnabled">true</item>
</style>
TextInputLayout
关于android - EditText中的DrawableButton可以显示/隐藏密码并更改DrawableEnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62603036/
我是一名优秀的程序员,十分优秀!