按下按钮时键盘向上滑动

Keypad Slide Up when button was pressed

我想添加一个按钮,第一次按下时键盘会向下滑动,再次按下时键盘会向上滑动。编码如下:

代码:

    btn_hide.setOnClickListener(new View.OnClickListener()    
    {
        public void onClick(View view) 
        {
            press ++;
            Utilities.custom_toast(Check_Result.this, "press=", ""+press, "long");
            if (press %2 ==1)
            {
                move(keyboard_frame, 0, 0, 0, (Y_end-Y_begin)); 
            }
            else
            {
                move(keyboard_frame, 0, 0, (Y_end-Y_begin), 0); 
            }
        }
    });

private void move(View view, float X0, float X1, float Y0, float Y1)
{
    view.clearAnimation();
    TranslateAnimation translate =  new TranslateAnimation(Animation.ABSOLUTE, X0,          // from X0
                                                            Animation.ABSOLUTE, X1,         // to X1
                                                            Animation.ABSOLUTE, Y0,         // from Y0
                                                            Animation.ABSOLUTE, Y1);        // to Y1
    translate.setInterpolator(new DecelerateInterpolator());
    translate.setDuration(800);
    translate.setFillAfter(true);
    view.startAnimation(translate);
}

问题:

键盘默认显示。当按下 btn_hide 时,键盘可以正常向下滑动并停留在目标位置。

但是,btn_hide似乎被禁用了,无法再次按下(没有显示自定义toast),因此键盘无法向上滑动。

请问为什么btn_hide被禁用了,如何修改上面的代码使其生效?

提前致谢!

HoneyComb 下面的 API 中的

TranslateAnimation 实际上并没有移动按钮,只是它的图像。它的点击将在同一个地方。如果您支持 API 11 及更高版本,请改用 ObjectAnimator。否则,在动画对象上注册一个侦听器,然后在 onAnimationEnd() 中将按钮移动到新位置。