Android原生Edittextログインインタフェースアカウントのワンタッチ削除とパスワードの表示と非表示を実現
3226 ワード
シンプルなレイアウトファイル
ここのjavaコードは初期化コントロールをアンインストールしました
ここの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());
}
});
}