我正在开发Android应用,我正在尝试实现我在网上找到的功能。我想要做的就是当用户点击编辑文本时,例如,如果用户点击“用户名”编辑文本,setOnFocusChangeListener将检查事物并将标签的动画开始为fadeIn和fadeOut,这里是我的代码
userSignupPasswordET.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (userSignupPasswordET.hasFocus()) {
signupPassWDTV.startAnimation(fadeIn);
} else {
if (userSignupPasswordET.getText().toString().length() == 0) {
signupPassWDTV.startAnimation(fadeOut);
}
}
}
});
我想要做的功能就在youtube上。但我面临的问题是我有三个字段,用户名,密码和电子邮件。因此,如果我点击用户名它正在工作,fadIn动画用于用户名标签工作,如果我不输入任何fadeOut动画工作,当我移动到其他编辑文本和其他编辑文本自己的setOnFocusChangeListener工作。但问题是如果我不在任何一个中输入任何东西只是继续切换它们,不断改变它们的焦点,另外两个编辑文本的setOnFocusChangeListener被触发并启动fadeIn动画和fadeOut动画。所以我不知道该怎么办。有什么建议吗?请记住,如果我没有在编辑字段中输入任何内容并且只是不断更改/切换它们,则会触发此问题。如果我在一个中输入内容,它就会改变并且标签保持可见。
答案 0 :(得分:0)
您可以在TextChangedListener()
edittext.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable et) {
}
});
这样只有在edittext上输入内容时才会调用动画