Android 登錄頁面的實(shí)現(xiàn)代碼(密碼顯示隱藏、EditText 圖標(biāo)切換、限制輸入長度)
效果演示


密碼顯示與隱藏
方法一
if(status){
etPassword.setInputType(InputType.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_NORMAL); //顯示文本
status = false;
}else {
etPassword.setInputType(InputType.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_PASSWORD); //隱藏文本
status = true;
}
etPassword.setSelection(etPassword.getText().toString().length()); //光標(biāo)調(diào)整到文本末端
方法二
if (status) {
etPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); //顯示文本
status = false;
} else {
etPassword.setTransformationMethod(PasswordTransformationMethod.getInstance()); //隱藏文本
status = true;
}
EditText 圖標(biāo)切換
實(shí)現(xiàn)方法
//編輯框點(diǎn)擊事件,取 icon 點(diǎn)擊位置設(shè)置點(diǎn)擊事件
etPassword.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// 長度為4的數(shù)組,分別表示左、右、上、下四個(gè) icon
Drawable drawable = etPassword.getCompoundDrawables()[2];
if (drawable == null) //如果右邊沒有圖片,不再處理
return false;
if (event.getAction() != MotionEvent.ACTION_UP) //如果不是按下事件,不再處理
return false;
if (event.getX() > etPassword.getWidth() - etPassword.getPaddingRight() - drawable.getIntrinsicWidth()) {
//點(diǎn)擊范圍為右側(cè) icon 位置
if (status) {
status= false;
//獲取小眼睛圖標(biāo)
Drawable iconDrawable = getResources().getDrawable(R.drawable.icon_eye_open);
//設(shè)置新圖標(biāo),分別對(duì)應(yīng)左、上、右、下4個(gè)圖標(biāo)
etPassword.setCompoundDrawablesWithIntrinsicBounds(null, null, iconDrawable, null);
} else {
status= true;
Drawable iconDrawable = getResources().getDrawable(R.drawable.icon_eye_close);
etPassword.setCompoundDrawablesWithIntrinsicBounds(null, null, iconDrawable, null);
}
}
return false;
}
});
限制輸入長度
方法一:以判斷方式控制最大輸入長度
private static final int MAX_INPUT_LENGTH = 50; //限制最大輸入長度50
etPassword.setFilters(new InputFilter[]{new InputFilter() { //通過過濾器進(jìn)行限制
@Override
public CharSequence filter(CharSequence charSequence, int start, int end, Spanned spanned, int dstart, int dend) {
//charSequence 為輸入內(nèi)容(刪除時(shí)為空),spanned 為輸入前輸入框內(nèi)容
if ((!charSequence.toString().equals("")) && spanned.toString().length() >= MAX_INPUT_LENGTH) {
//判斷當(dāng)前有內(nèi)容輸入(不為刪除),且當(dāng)前內(nèi)容長度為最大長度,進(jìn)行 Toast 提醒,且返回空
Toast.makeText(MyApplication.context, "最大輸入長度為50", Toast.LENGTH_SHORT).show();
return ""; //返回值為輸入框增加內(nèi)容,返回空不增加,默認(rèn)返回 null
}
return null;
}
}});
方法二:以過濾器方式控制最大輸入長度
etChange.setFilters(new InputFilter[]{new InputFilter() {
@Override
public CharSequence filter(CharSequence charSequence, int start, int end, Spanned spanned, int dstart, int dend) {
if((!source.toString().equals("")) && dest.toString().length() >= MAX_INPUT_LENGTH){
Toast.makeText(MainActivity.this, "最大輸入長度為50", Toast.LENGTH_SHORT).show();
}
return null;
}
},new InputFilter.LengthFilter(MAX_INPUT_LENGTH)}); //以過濾器方式控制最大輸入長度
總結(jié)
到此這篇關(guān)于Android 登錄頁面的實(shí)現(xiàn)代碼(密碼顯示隱藏、EditText 圖標(biāo)切換、限制輸入長度)的文章就介紹到這了,更多相關(guān)Android 登錄頁面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android實(shí)現(xiàn)密碼隱藏和顯示
- Android實(shí)現(xiàn)顯示和隱藏密碼功能的示例代碼
- Android中實(shí)現(xiàn)密碼的隱藏和顯示的示例
- Android EditText密碼的隱藏和顯示功能
- Android 密碼 顯示與隱藏功能實(shí)例
- Android中實(shí)現(xiàn)EditText密碼顯示隱藏的方法
- Android文本輸入框(EditText)輸入密碼時(shí)顯示與隱藏
- Android實(shí)現(xiàn)動(dòng)態(tài)顯示或隱藏密碼輸入框的內(nèi)容
- Android中EditText顯示明文與密碼的兩種方式
- Android開發(fā)EditText實(shí)現(xiàn)密碼顯示隱藏
相關(guān)文章
Android采用消息推送實(shí)現(xiàn)類似微信視頻接聽
這篇文章主要為大家詳細(xì)介紹了Android采用消息推送實(shí)現(xiàn)類似微信視頻接聽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Intel HAXM為Android 模擬器加速解決模擬器運(yùn)行慢的問題
Android 模擬器一直以運(yùn)行速度慢著稱, 本文介紹使用 Intel HAXM 技術(shù)為 Android 模擬器加速, 使模擬器運(yùn)行度媲美真機(jī), 徹底解決模擬器運(yùn)行慢的問題,感興趣的朋友可以了解下哦2013-01-01
android 對(duì)話框彈出位置和透明度的設(shè)置具體實(shí)現(xiàn)方法
在android中我們經(jīng)常會(huì)用AlertDialog來顯示對(duì)話框。通過這個(gè)對(duì)話框是顯示在屏幕中心的。但在某些程序中,要求對(duì)話框可以顯示在不同的位置。2013-07-07
Android利用廣播接收器實(shí)現(xiàn)自動(dòng)填充短信驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了Android利用廣播接收器實(shí)現(xiàn)自動(dòng)填充短信驗(yàn)證碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Android實(shí)現(xiàn)圖片疊加效果的兩種方法
這篇文章主要介紹了Android實(shí)現(xiàn)圖片疊加效果的兩種方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)圖片疊加效果的兩種操作方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-08-08
Android中ScrollView監(jiān)聽滑動(dòng)距離案例講解
這篇文章主要介紹了Android中ScrollView監(jiān)聽滑動(dòng)距離案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Android自定義有限制區(qū)域的圖例角度自識(shí)別涂鴉工具類完結(jié)篇
這篇文章主要為大家介紹了Android自定義有限制區(qū)域的圖例角度自識(shí)別涂鴉工具類完結(jié)篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
android studio 使用Mocklocation虛擬定位
這篇文章主要介紹了android studio 使用Mocklocation虛擬定位總結(jié),本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Android中使用TextView實(shí)現(xiàn)高仿京東淘寶各種倒計(jì)時(shí)效果
今天給大家?guī)淼氖莾H僅使用一個(gè)TextView實(shí)現(xiàn)一個(gè)高仿京東、淘寶、唯品會(huì)等各種電商APP的活動(dòng)倒計(jì)時(shí)。今天小編把實(shí)現(xiàn)代碼分享到腳本之家平臺(tái),對(duì)android textclock 倒計(jì)時(shí)效果感興趣的朋友參考下吧2016-10-10
Android Studio 新手入門教程(一)基本設(shè)置圖解
這篇文章主要介紹了Android Studio 新手入門教程(一)基本設(shè)置圖解,需要的朋友可以參考下2017-12-12

