(五十四)常用的EditText密碼框設(shè)置-創(chuàng)新互聯(lián)

1、常見的如下所示的EditText密碼框設(shè)置的實(shí)現(xiàn)

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、瓜州ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的瓜州網(wǎng)站制作公司

2、其中重要的XML文件中的代碼

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    style="@style/LoginFindPasswordMargin1"
    android:layout_width="fill_parent"
    android:layout_height="47dp"
    android:background="@drawable/rectangle_white_bg" >  <ImageButton
android:id="@+id/bt_show_password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:background="@drawable/password_hide" />  <ImageButton
android:id="@+id/bt_delete_password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:layout_toLeftOf="@id/bt_show_password"
        android:background="@drawable/fork_selector_light_dark" />  <EditText
android:id="@+id/et_input_password"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginRight="5dp"
        android:layout_toLeftOf="@id/bt_delete_password"
        android:background="@null"
        android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#%^&amp;*()_=+;:./&lt;>?[]\{}|`~"
        android:hint="請(qǐng)輸入密碼"
        android:imeOptions="actionDone"
        android:inputType="textPassword"
        android:paddingLeft="17dp"
        android:paddingRight="0dp"
        android:textColor="#333333"
        android:textColorHint="#a8a8a8"
        android:textSize="14sp" /></RelativeLayout>

2、部分重要的可以參考的java代碼

2.1 設(shè)置是否顯示bt_delete_password  ImageButton

private void showBtnDeletePassword() {
        mEtPassword.setOnTouchListener(new OnTouchListener() {
            @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub  if (mEtPassword.getText().toString().trim() != null                        && !mEtPassword.getText().toString().trim().equals("")) {
                    mBtnDeletePassword.setVisibility(View.VISIBLE);
                }
                mBtnDeletePassword.setVisibility(View.INVISIBLE);
return false;
            }
        });
        mEtPassword.addTextChangedListener(new TextWatcher() {

            @Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
            }

            @Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub  if (!TextUtils.isEmpty(s)) {
                    mBtnDeletePassword.setVisibility(View.VISIBLE);
                }else {
                    mBtnDeletePassword.setVisibility(View.INVISIBLE);
                }
            }

            @Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
            }

        });
    }

2.2 設(shè)置是EditText是以正常文本形式顯示密碼還是以密碼形式顯示密碼

   2.2.1 在onCreate中部分初始化代碼

mBtnShowPassword = (ImageButton) findViewById(R.id.bt_show_password);
mBtnShowPassword.setOnClickListener(this); mBtnShowPassword.setTag(R.drawable.password_hide);

   2.2.2 在bt_show_password中的點(diǎn)擊事件代碼如下所示:

case R.id.bt_show_password:
int drawavleId;
try {
                drawavleId= (Integer) mBtnShowPassword.getTag();
            }catch (Exception e) {
// TODO: handle exception                e.printStackTrace();
                drawavleId= 0;
            }
if (drawavleId == R.drawable.password_hide) {
                mBtnShowPassword
                        .setBackgroundResource(R.drawable.password_look);
                mBtnShowPassword.setTag(R.drawable.password_look);
// 文本正常顯示                mEtPassword
                        .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);                
                Editable etable= mEtPassword.getText();
                Selection.setSelection(etable, etable.length());
            }else {
                mBtnShowPassword
                        .setBackgroundResource(R.drawable.password_hide);
                mBtnShowPassword.setTag(R.drawable.password_hide);
// 文本以密碼形式顯示                mEtPassword.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_PASSWORD);
// 下面兩行代碼實(shí)現(xiàn): 輸入框光標(biāo)一直在輸入文本后面                Editable etable = mEtPassword.getText();
                Selection.setSelection(etable, etable.length());
            }
break;

本文名稱:(五十四)常用的EditText密碼框設(shè)置-創(chuàng)新互聯(lián)
文章出自:http://bm7419.com/article34/didise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、微信小程序云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)