Android 如何更改EditText上的图标?
我制作EditText以接收用户的密码 所以我把输入类型改为密码Android 如何更改EditText上的图标?,android,android-layout,android-edittext,android-inputtype,Android,Android Layout,Android Edittext,Android Inputtype,我制作EditText以接收用户的密码 所以我把输入类型改为密码 <EditText android:id="@+id/edittext_Password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:backgroundTint="@color/
<EditText
android:id="@+id/edittext_Password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:inputType="textPassword"
android:layout_weight="1"
/>
当我在EditText中输入单词时,它会显示一个黑点。我想把圆点改成可绘制的资源
您可以按照此代码编写需求代码 答案来自,它涵盖了当用户:
- 进入登录屏幕,键盘将自动打开
- 尝试在其中输入值,然后文本框背景更改为具有星形背景的文本框
- 尝试使用键盘上的后退键取消/删除输入值,然后文本框背景将更改为无星形背景的文本框
可绘制图形
:
然后,根据这种方法,您必须在EditText
上实现addTextChangedListener
方法。然后,作为参数,创建TextWatcher
类的新实例,并实现其方法:
etxtPin1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if(etxtPin1.getText().toString().trim().length()==1){
etxtPin1.clearFocus();
etxtPin2.requestFocus();
etxtPin1.setBackgroundResource(R.drawable.pin_txt_bg_star);
}
}
});
然后,您必须实现setOnKeyListener
及其方法onKey
:
this.etxtPin1.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View paramView, int paramInt, KeyEvent paramKeyEvent) {
if ((paramKeyEvent.getAction() == KeyEvent.ACTION_DOWN)&&(paramInt == 67) && (LoginActivity.this.etxtPin2.getText().length() == 0)) {
etxtPin1.requestFocus();
etxtPin1.setBackgroundResource(R.drawable.pin_txt_bg);
etxtPin1.setText("");
}
return false;
}
});
另一种方法:创建您自己的扩展类 参考:
如果要更改编辑文本中点的颜色,则可以更改文本颜色,这也会更改点的颜色 您可以使用此代码执行相同的操作:
android:textColor="#FF0000" or setTextColor(int)
可能的重复:我认为您不能设置drawable而不是char。您能发布所需的UI吗?@Khemraj就像一个圆圈一样that@ManishGupta是的,我看到了,但它返回char。我想要可以拉的,谢谢,我试试看。但在另一种方法中,它是否返回char?不可提取资源。谢谢,但这是我想要的答案
android:textColor="#FF0000" or setTextColor(int)