問題描述
我試圖在輸入類型為文本密碼的編輯文本中向用戶顯示輸入的密碼.
我在這樣的切換圖標(biāo)上實現(xiàn)了手勢監(jiān)聽器-
public boolean onTouch(View view, MotionEvent motionEvent) {開關(guān)(view.getId()){案例 R.id.ivPasswordToggle:開關(guān)(motionEvent.getAction()){案例 MotionEvent.ACTION_DOWN:Toast.makeText(getContext(),"show",Toast.LENGTH_SHORT).show();etPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);休息;案例 MotionEvent.ACTION_UP:etPassword.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT);Toast.makeText(getContext(),"hide",Toast.LENGTH_SHORT).show();休息;}休息;}返回真;}
我不知道是什么問題,任何幫助將不勝感激.
(針對AndroidX更新)
自支持庫 v24.2.0 起.你可以很容易地做到這一點
你需要做的只是:
將設(shè)計庫添加到您的依賴項中
依賴項 {實現(xiàn)com.google.android.material:material:1.2.1"}
將
結(jié)合使用TextInputEditText
與TextInputLayout
<com.google.android.material.textfield.TextInputLayoutxmlns:app=http://schemas.android.com/apk/res-auto"android:id=@+id/etPasswordLayout"android:layout_width=match_parent"android:layout_height="wrap_content";app:passwordToggleEnabled="true">
I am trying to show user the typed password in edit text whose input type is text Password.
I implemented gesturelistener over the toggle icon like this-
public boolean onTouch(View view, MotionEvent motionEvent) { switch (view.getId()) { case R.id.ivPasswordToggle: switch ( motionEvent.getAction() ) { case MotionEvent.ACTION_DOWN: Toast.makeText(getContext(),"show",Toast.LENGTH_SHORT).show(); etPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); break; case MotionEvent.ACTION_UP: etPassword.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT); Toast.makeText(getContext(),"hide",Toast.LENGTH_SHORT).show(); break; } break; } return true; }
i dont know what is wrong, any help will be appreciated.
解決方案(updated for AndroidX)
Since the Support Library v24.2.0. you can achivie this very easy
What you need to do is just:
Add the design library to your dependecies
dependencies { implementation "com.google.android.material:material:1.2.1" }
Use
TextInputEditText
in conjunction withTextInputLayout
<com.google.android.material.textfield.TextInputLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/etPasswordLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:passwordToggleEnabled="true"> <android.support.design.widget.TextInputEditText android:id="@+id/etPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/password_hint" android:inputType="textPassword"/> </com.google.android.material.textfield.TextInputLayout>
passwordToggleEnabled
attribute will make the password toggle appearIn your root layout don't forget to add
xmlns:app="http://schemas.android.com/apk/res-auto"
You can customize your password toggle by using:
app:passwordToggleDrawable
- Drawable to use as the password input visibility toggle icon.
app:passwordToggleTint
- Icon to use for the password input visibility toggle.
app:passwordToggleTintMode
- Blending mode used to apply the background tint.More details in TextInputLayout documentation.
這篇關(guān)于編輯文本密碼切換 Android的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!