gpt4 book ai didi

android - passwordToggleEnabled 设置为 true 但不起作用

转载 作者:行者123 更新时间:2023-12-04 09:31:32 24 4
gpt4 key购买 nike

我希望将 passwordToggleEnabled 与 TextInputLayout 和 TextInputEditText 一起使用。我遇到的问题是图标出现,但单击它时,没有任何 react 。几乎似乎点击它只是重新聚焦在 TextInputEditText 上,而不是揭开密码的掩码。我这么想是因为光标下的指针会很快变亮,然后回到默认颜色,就好像我在聚焦的 EditText 内单击一样。
我使用 TextInputEditText 的自定义背景在输入信息时有白色的圆形气泡,但我意识到我的自定义 drawable 中的白色背景覆盖了图标。因此,当场被聚焦时,气泡现在有一个笔划和一个透明的背景,所以图标是可见的。
我试过完全删除背景,但图标仍然没有做任何事情。
这是自定义背景(rounded_edit_text.xml):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="false">
<layer-list>
<item android:top="@dimen/_3sdp">
<shape
android:shape="rectangle" android:padding="10dp">
<solid android:color="@color/white"/>
<corners
android:bottomRightRadius="30dp"
android:bottomLeftRadius="30dp"
android:topLeftRadius="30dp"
android:topRightRadius="30dp"/>
</shape>
</item>

</layer-list>
</item>

<item android:state_focused="true">
<layer-list>
<item android:top="@dimen/_3sdp">
<shape
android:shape="rectangle" android:padding="10dp">
<solid android:color="@color/Transparent"/>
<corners
android:bottomRightRadius="30dp"
android:bottomLeftRadius="30dp"
android:topLeftRadius="30dp"
android:topRightRadius="30dp"/>
<stroke
android:color="@color/evenlightergrey"
android:width="@dimen/_1sdp"/>
</shape>
</item>

</layer-list>
</item>
</selector>
这是布局的密码位:
    <com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_textInput"
android:layout_width="0dp"
android:layout_height="0dp"
android:clipToPadding="false"
android:clipChildren="false"
app:layout_constraintTop_toBottomOf="@id/email_bottom_guideline"
app:layout_constraintStart_toStartOf="@id/start_guideline"
app:layout_constraintEnd_toStartOf="@id/end_guideline"
app:layout_constraintBottom_toTopOf="@id/password_bottom_guideline"
app:hintTextAppearance="@style/PurpleFloatingHintStyle"
app:errorEnabled="true"
app:passwordToggleEnabled="true"
app:passwordToggleTint="@color/main_purple">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_editText"
android:layout_width="match_parent"
android:layout_height="@dimen/_32sdp"
android:textCursorDrawable="@drawable/main_purple_cursor"
android:elevation="@dimen/_10sdp"
android:importantForAutofill="no"
android:background="@drawable/rounded_edit_text"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical|start"
android:inputType="textPassword"

android:textSize="@dimen/_16sdp"
android:paddingTop="@dimen/_3sdp"
android:paddingLeft="@dimen/_10sdp"
android:paddingRight="@dimen/_10sdp"
android:paddingStart="@dimen/_10sdp"
android:paddingEnd="@dimen/_10sdp"
android:hint="Password"
app:layout_constraintStart_toStartOf="@id/start_guideline"
app:layout_constraintEnd_toStartOf="@id/end_guideline"/>

</com.google.android.material.textfield.TextInputLayout>
还有一些截图来解决问题:
Full Layout
Password focused
有什么我想念的吗?我看过一些 YouTube 视频,这些视频似乎与我在这里的操作方式相同,并且此代码的​​旧版本也有很多相同的内容并且可以正常工作。谢谢!

最佳答案

删除 android:elevation="@dimen/_10sdp"在您的 TextInputEditText有海拔
enter image description here
无海拔
enter image description here
它与您的问题无关,但使用:

  app:endIconMode="password_toggle"
app:endIconTint="@color/..."
代替:
    app:passwordToggleEnabled="true"
app:passwordToggleTint="@color/main_purple"

关于android - passwordToggleEnabled 设置为 true 但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62821194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com