亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Android 登錄頁面的實現代碼(密碼顯示隱藏、EditText 圖標切換、限制輸入長度)

瀏覽:7日期:2022-09-23 08:29:23

效果演示

Android 登錄頁面的實現代碼(密碼顯示隱藏、EditText 圖標切換、限制輸入長度)Android 登錄頁面的實現代碼(密碼顯示隱藏、EditText 圖標切換、限制輸入長度)

密碼顯示與隱藏

方法一

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());//光標調整到文本末端

方法二

if (status) { etPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//顯示文本 status = false;} else { etPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());//隱藏文本 status = true;}

EditText 圖標切換

實現方法

//編輯框點擊事件,取 icon 點擊位置設置點擊事件etPassword.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {// 長度為4的數組,分別表示左、右、上、下四個 iconDrawable 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()) {//點擊范圍為右側 icon 位置if (status) {status= false;//獲取小眼睛圖標Drawable iconDrawable = getResources().getDrawable(R.drawable.icon_eye_open);//設置新圖標,分別對應左、上、右、下4個圖標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;//限制最大輸入長度50etPassword.setFilters(new InputFilter[]{new InputFilter() {//通過過濾器進行限制 @Override public CharSequence filter(CharSequence charSequence, int start, int end, Spanned spanned, int dstart, int dend) { //charSequence 為輸入內容(刪除時為空),spanned 為輸入前輸入框內容 if ((!charSequence.toString().equals('')) && spanned.toString().length() >= MAX_INPUT_LENGTH) { //判斷當前有內容輸入(不為刪除),且當前內容長度為最大長度,進行 Toast 提醒,且返回空 Toast.makeText(MyApplication.context, '最大輸入長度為50', Toast.LENGTH_SHORT).show(); return '';//返回值為輸入框增加內容,返回空不增加,默認返回 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)});//以過濾器方式控制最大輸入長度

總結

到此這篇關于Android 登錄頁面的實現代碼(密碼顯示隱藏、EditText 圖標切換、限制輸入長度)的文章就介紹到這了,更多相關Android 登錄頁面內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 99re最新地址精品视频 | 亚洲国产精品网站久久 | 免费在线观看视频网站 | 久久有这有精品在线观看 | 182tv午夜线路一线路二 | 黄色小视频在线免费观看 | 美国一级大黄大色毛片 | 亚洲欧美国产视频 | 免费a级特黄国产大片 | 免费人成网ww44kk44 | xxx本日| 日韩在线视频一区二区三区 | 精品国产_亚洲人成在线高清 | 日日摸夜夜添夜夜添破第一 | 999国产精品视频 | 国产91久久最新观看地址 | 麻豆视频在线免费观看 | 久久久精品免费 | 亚洲影视自拍揄拍愉拍 | 黑人解禁hd在线观看 | 91精品国产9l久久久久 | 中文字幕日韩一区二区三区不卡 | 精品久久洲久久久久护士 | 久久婷婷午色综合夜啪 | 黄在线 | 国产剧情麻豆mv在线观看 | 国内一级特黄女人精品片 | 麻豆传媒网站入口 | 国产伦精品一区二区 | 国产伦精品一区二区三区在线观看 | 快射视频欧美 | 欧美大片aaaa一级毛片 | 亚洲一区二区在线 | a级黄色免费看 | 精品视频h | 欧美成人福利视频 | 色男人天堂 | 黄 色 片 在 线 看 | 久久成| 国产精品视频流白浆免费视频 | 亚洲精品乱码久久久久久蜜桃欧美 |