Android原生Edittextログインインタフェースアカウントのワンタッチ削除とパスワードの表示と非表示を実現

3226 ワード

シンプルなレイアウトファイル
 
        
        
    

    
        
        
    

ここのjavaコードは初期化コントロールをアンインストールしました
 private void initView() {
        et = (EditText) findViewById(R.id.et);
        im = (ImageView) findViewById(R.id.im);
        name = (EditText) findViewById(R.id.name);
        del = (ImageView) findViewById(R.id.del);
        //           
        name.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                //                    
                if (name.getText().length() > 0 && !name.getText().equals("") && name.getText() != null) {
                    del.setVisibility(View.VISIBLE);
                } else {
                    del.setVisibility(View.GONE);
                }
            }
        });
        //           
        del.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                name.setText("");
            }
        });
        //        
        im.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //     ,         ,              
                isSelect = !isSelect;
                if (isSelect) {
                    im.setBackgroundColor(Color.BLACK);
                    //et.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
                    et.setTransformationMethod(HideReturnsTransformationMethod.getInstance());

                } else {
                    im.setBackgroundColor(Color.RED);
                    //et.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
                    et.setTransformationMethod(PasswordTransformationMethod.getInstance());
                }
                //       
                et.setSelection(et.getText().length());
            }
        });
    }