android中的OnFocusChangeListener()问题

时间:2013-11-20 04:36:30

标签: android android-animation

我的Android应用中有member注册表单,我已将animation效果应用于所需的字段(在这种情况下为EditText个视图),如果这些字段是没有填充效果应该发生,然后像这样:

mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            // TODO Auto-generated method stub
            if (mEditText.getText.equals("")) {
                mEditText.setAnimation(MyAnimation.animate());}

MyAnimation.animate()就像:

public class MyAnimation {
public static Animation animate(){
    TranslateAnimation mAnimate = new TranslateAnimation(0, 5, 0, 0);
    mAnimate.setInterpolator(new CycleInterpolator(50));
    mAnimate.setDuration(600);
    return mAnimate;
}

}

但问题是当mEditText获得焦点时会发生这种情况,如果mEditText为空,我的需要是焦点离开。

1 个答案:

答案 0 :(得分:4)

实施setOnFocusChangeListener并检查hasFocus的布尔参数。如果这是错误的,你就会失去对另一个控件的关注。

 EditText txtEdit= (EditText) findViewById(R.id.edittxt);

 txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {          

        public void onFocusChange(View v, boolean hasFocus) {
            if(!hasFocus)
           {
               //do job here owhen Edittext lose focus 
                    if (mEditText.getText().equals("")) {
            mEditText.setAnimation(MyAnimation.animate());}
           }
        }
    });