【发布时间】:2016-05-04 02:16:30
【问题描述】:
因此,当您在 EditText 字段上将可见性设置为 INVISIBLE 时,它不想获得键盘焦点。
我通过在动画完成后更改这些字段的可见性来解决此问题,如下所示:
edit_text.setVisibility(View.INVISIBLE);
final Animation fadeInAnimation = AnimationUtils.loadAnimation(getActivity(), R.anim.fade_in_view);
fadeInAnimation.setFillAfter(true);
edit_text.startAnimation(fadeInAnimation);
edit_text.setVisibility(View.VISIBLE);
但我想知道为什么它没有得到焦点。 setFillAfter(true) 不应该再次将它们设置为可见吗?
【问题讨论】:
-
您可以拨打
edit_Text.requestFocus(); -
您没有启动动画或将动画设置为 Edittext 所以即使这是真的它在您的情况下也不起作用,其次
View.GONE是我确信它不会使Edittext 获得焦点,但我怀疑是不可见的.. 我可能是错的 -
JibranKhan 我想知道为什么它没有,这会迫使键盘弹出吗?我不希望这种行为。 @Elltz 这是一个错字,不可见显然确实消除了焦点
-
动画所做的是将
View上的 alpha 设置为 0.0 和 1.0,对我来说这就是View.INVISIBLE-(0.0) 所做的,因为它占用屏幕空间但它是透明的,所以我不认为它会剥夺它的视图调用-(这是一个想法)但我会接受你的,因为你确定,requestFocus() 也不一定意味着键盘将被强制向上,它实际上有点,这意味着无论是否在触摸模式下,该视图都可以聚焦。 -
你知道 petro 将你的解决方案作为答案发布并回滚编辑,+1 .. 我猜你的原因已被回答
标签: java android android-animation