按下按钮时键盘向上滑动
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()
中将按钮移动到新位置。
我想添加一个按钮,第一次按下时键盘会向下滑动,再次按下时键盘会向上滑动。编码如下:
代码:
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()
中将按钮移动到新位置。